Lines Matching refs:ringbuf
46 struct intel_ringbuffer *ringbuf = dctx->engine[ring->id].ringbuf; in intel_ring_initialized() local
48 return ringbuf->obj; in intel_ring_initialized()
61 void intel_ring_update_space(struct intel_ringbuffer *ringbuf) in intel_ring_update_space() argument
63 if (ringbuf->last_retired_head != -1) { in intel_ring_update_space()
64 ringbuf->head = ringbuf->last_retired_head; in intel_ring_update_space()
65 ringbuf->last_retired_head = -1; in intel_ring_update_space()
68 ringbuf->space = __intel_ring_space(ringbuf->head & HEAD_ADDR, in intel_ring_update_space()
69 ringbuf->tail, ringbuf->size); in intel_ring_update_space()
72 int intel_ring_space(struct intel_ringbuffer *ringbuf) in intel_ring_space() argument
74 intel_ring_update_space(ringbuf); in intel_ring_space()
75 return ringbuf->space; in intel_ring_space()
86 struct intel_ringbuffer *ringbuf = ring->buffer; in __intel_ring_advance() local
87 ringbuf->tail &= ringbuf->size - 1; in __intel_ring_advance()
90 ring->write_tail(ring, ringbuf->tail); in __intel_ring_advance()
569 struct intel_ringbuffer *ringbuf = ring->buffer; in init_ring_common() local
570 struct drm_i915_gem_object *obj = ringbuf->obj; in init_ring_common()
620 ((ringbuf->size - PAGE_SIZE) & RING_NR_PAGES) in init_ring_common()
637 ringbuf->last_retired_head = -1; in init_ring_common()
638 ringbuf->head = I915_READ_HEAD(ring); in init_ring_common()
639 ringbuf->tail = I915_READ_TAIL(ring) & TAIL_ADDR; in init_ring_common()
640 intel_ring_update_space(ringbuf); in init_ring_common()
1899 void intel_unpin_ringbuffer_obj(struct intel_ringbuffer *ringbuf) in intel_unpin_ringbuffer_obj() argument
1901 iounmap(ringbuf->virtual_start); in intel_unpin_ringbuffer_obj()
1902 ringbuf->virtual_start = NULL; in intel_unpin_ringbuffer_obj()
1903 i915_gem_object_ggtt_unpin(ringbuf->obj); in intel_unpin_ringbuffer_obj()
1907 struct intel_ringbuffer *ringbuf) in intel_pin_and_map_ringbuffer_obj() argument
1910 struct drm_i915_gem_object *obj = ringbuf->obj; in intel_pin_and_map_ringbuffer_obj()
1923 ringbuf->virtual_start = ioremap_wc(dev_priv->gtt.mappable_base + in intel_pin_and_map_ringbuffer_obj()
1924 i915_gem_obj_ggtt_offset(obj), ringbuf->size); in intel_pin_and_map_ringbuffer_obj()
1925 if (ringbuf->virtual_start == NULL) { in intel_pin_and_map_ringbuffer_obj()
1933 void intel_destroy_ringbuffer_obj(struct intel_ringbuffer *ringbuf) in intel_destroy_ringbuffer_obj() argument
1935 drm_gem_object_unreference(&ringbuf->obj->base); in intel_destroy_ringbuffer_obj()
1936 ringbuf->obj = NULL; in intel_destroy_ringbuffer_obj()
1940 struct intel_ringbuffer *ringbuf) in intel_alloc_ringbuffer_obj() argument
1946 obj = i915_gem_object_create_stolen(dev, ringbuf->size); in intel_alloc_ringbuffer_obj()
1948 obj = i915_gem_alloc_object(dev, ringbuf->size); in intel_alloc_ringbuffer_obj()
1955 ringbuf->obj = obj; in intel_alloc_ringbuffer_obj()
1963 struct intel_ringbuffer *ringbuf; in intel_init_ring_buffer() local
1968 ringbuf = kzalloc(sizeof(*ringbuf), GFP_KERNEL); in intel_init_ring_buffer()
1969 if (!ringbuf) in intel_init_ring_buffer()
1971 ring->buffer = ringbuf; in intel_init_ring_buffer()
1977 ringbuf->size = 32 * PAGE_SIZE; in intel_init_ring_buffer()
1978 ringbuf->ring = ring; in intel_init_ring_buffer()
1994 WARN_ON(ringbuf->obj); in intel_init_ring_buffer()
1996 ret = intel_alloc_ringbuffer_obj(dev, ringbuf); in intel_init_ring_buffer()
2003 ret = intel_pin_and_map_ringbuffer_obj(dev, ringbuf); in intel_init_ring_buffer()
2007 intel_destroy_ringbuffer_obj(ringbuf); in intel_init_ring_buffer()
2015 ringbuf->effective_size = ringbuf->size; in intel_init_ring_buffer()
2017 ringbuf->effective_size -= 2 * CACHELINE_BYTES; in intel_init_ring_buffer()
2026 kfree(ringbuf); in intel_init_ring_buffer()
2034 struct intel_ringbuffer *ringbuf; in intel_cleanup_ring_buffer() local
2040 ringbuf = ring->buffer; in intel_cleanup_ring_buffer()
2045 intel_unpin_ringbuffer_obj(ringbuf); in intel_cleanup_ring_buffer()
2046 intel_destroy_ringbuffer_obj(ringbuf); in intel_cleanup_ring_buffer()
2056 kfree(ringbuf); in intel_cleanup_ring_buffer()
2062 struct intel_ringbuffer *ringbuf = ring->buffer; in intel_ring_wait_request() local
2066 if (intel_ring_space(ringbuf) >= n) in intel_ring_wait_request()
2070 if (__intel_ring_space(request->postfix, ringbuf->tail, in intel_ring_wait_request()
2071 ringbuf->size) >= n) { in intel_ring_wait_request()
2092 struct intel_ringbuffer *ringbuf = ring->buffer; in ring_wait_for_space() local
2113 if (intel_ring_space(ringbuf) >= n) in ring_wait_for_space()
2115 ringbuf->head = I915_READ_HEAD(ring); in ring_wait_for_space()
2116 if (intel_ring_space(ringbuf) >= n) in ring_wait_for_space()
2143 struct intel_ringbuffer *ringbuf = ring->buffer; in intel_wrap_ring_buffer() local
2144 int rem = ringbuf->size - ringbuf->tail; in intel_wrap_ring_buffer()
2146 if (ringbuf->space < rem) { in intel_wrap_ring_buffer()
2152 virt = ringbuf->virtual_start + ringbuf->tail; in intel_wrap_ring_buffer()
2157 ringbuf->tail = 0; in intel_wrap_ring_buffer()
2158 intel_ring_update_space(ringbuf); in intel_wrap_ring_buffer()
2202 request->ringbuf = ring->buffer; in intel_ring_alloc_request()
2218 struct intel_ringbuffer *ringbuf = ring->buffer; in __intel_ring_prepare() local
2221 if (unlikely(ringbuf->tail + bytes > ringbuf->effective_size)) { in __intel_ring_prepare()
2227 if (unlikely(ringbuf->space < bytes)) { in __intel_ring_prepare()