Commit 64c58f2c authored by Oscar Mateo's avatar Oscar Mateo Committed by Daniel Vetter

drm/i915: Generalize ring_space to take a ringbuf

It's simple enough that it doesn't need to know anything about the
engine.

Trivial change.
Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: default avatarOscar Mateo <oscar.mateo@intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 2919d291
...@@ -48,9 +48,8 @@ static inline int __ring_space(int head, int tail, int size) ...@@ -48,9 +48,8 @@ static inline int __ring_space(int head, int tail, int size)
return space; return space;
} }
static inline int ring_space(struct intel_engine_cs *ring) static inline int ring_space(struct intel_ringbuffer *ringbuf)
{ {
struct intel_ringbuffer *ringbuf = ring->buffer;
return __ring_space(ringbuf->head & HEAD_ADDR, ringbuf->tail, ringbuf->size); return __ring_space(ringbuf->head & HEAD_ADDR, ringbuf->tail, ringbuf->size);
} }
...@@ -545,7 +544,7 @@ static int init_ring_common(struct intel_engine_cs *ring) ...@@ -545,7 +544,7 @@ static int init_ring_common(struct intel_engine_cs *ring)
else { else {
ringbuf->head = I915_READ_HEAD(ring); ringbuf->head = I915_READ_HEAD(ring);
ringbuf->tail = I915_READ_TAIL(ring) & TAIL_ADDR; ringbuf->tail = I915_READ_TAIL(ring) & TAIL_ADDR;
ringbuf->space = ring_space(ring); ringbuf->space = ring_space(ringbuf);
ringbuf->last_retired_head = -1; ringbuf->last_retired_head = -1;
} }
...@@ -1639,7 +1638,7 @@ static int intel_ring_wait_request(struct intel_engine_cs *ring, int n) ...@@ -1639,7 +1638,7 @@ static int intel_ring_wait_request(struct intel_engine_cs *ring, int n)
ringbuf->head = ringbuf->last_retired_head; ringbuf->head = ringbuf->last_retired_head;
ringbuf->last_retired_head = -1; ringbuf->last_retired_head = -1;
ringbuf->space = ring_space(ring); ringbuf->space = ring_space(ringbuf);
if (ringbuf->space >= n) if (ringbuf->space >= n)
return 0; return 0;
} }
...@@ -1662,7 +1661,7 @@ static int intel_ring_wait_request(struct intel_engine_cs *ring, int n) ...@@ -1662,7 +1661,7 @@ static int intel_ring_wait_request(struct intel_engine_cs *ring, int n)
ringbuf->head = ringbuf->last_retired_head; ringbuf->head = ringbuf->last_retired_head;
ringbuf->last_retired_head = -1; ringbuf->last_retired_head = -1;
ringbuf->space = ring_space(ring); ringbuf->space = ring_space(ringbuf);
return 0; return 0;
} }
...@@ -1691,7 +1690,7 @@ static int ring_wait_for_space(struct intel_engine_cs *ring, int n) ...@@ -1691,7 +1690,7 @@ static int ring_wait_for_space(struct intel_engine_cs *ring, int n)
trace_i915_ring_wait_begin(ring); trace_i915_ring_wait_begin(ring);
do { do {
ringbuf->head = I915_READ_HEAD(ring); ringbuf->head = I915_READ_HEAD(ring);
ringbuf->space = ring_space(ring); ringbuf->space = ring_space(ringbuf);
if (ringbuf->space >= n) { if (ringbuf->space >= n) {
ret = 0; ret = 0;
break; break;
...@@ -1743,7 +1742,7 @@ static int intel_wrap_ring_buffer(struct intel_engine_cs *ring) ...@@ -1743,7 +1742,7 @@ static int intel_wrap_ring_buffer(struct intel_engine_cs *ring)
iowrite32(MI_NOOP, virt++); iowrite32(MI_NOOP, virt++);
ringbuf->tail = 0; ringbuf->tail = 0;
ringbuf->space = ring_space(ring); ringbuf->space = ring_space(ringbuf);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment