[Intel-gfx] [RFC 20/21] drm/i915: Convert 'ring_idle()' to use requests not seqnos
Daniel Vetter
daniel at ffwll.ch
Sun Oct 19 16:09:13 CEST 2014
On Mon, Oct 06, 2014 at 03:15:24PM +0100, John.C.Harrison at Intel.com wrote:
> From: John Harrison <John.C.Harrison at Intel.com>
>
> For: VIZ-4377
> Signed-off-by: John.C.Harrison at Intel.com
We have places that shovel stuff onto the ring without an explicit
add_request. Or at least we've had, so this needs a full audit, and that
audit needs to be in the commit message.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_irq.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 4847ed5..c2a7127 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -3030,18 +3030,18 @@ static void gen8_disable_vblank(struct drm_device *dev, int pipe)
> spin_unlock_irqrestore(&dev_priv->irq_lock, irqflags);
> }
>
> -static u32
> -ring_last_seqno(struct intel_engine_cs *ring)
> +static struct drm_i915_gem_request *
> +ring_last_request(struct intel_engine_cs *ring)
> {
> return list_entry(ring->request_list.prev,
> - struct drm_i915_gem_request, list)->seqno;
> + struct drm_i915_gem_request, list);
> }
>
> static bool
> -ring_idle(struct intel_engine_cs *ring, u32 seqno)
> +ring_idle(struct intel_engine_cs *ring)
> {
> return (list_empty(&ring->request_list) ||
> - i915_seqno_passed(seqno, ring_last_seqno(ring)));
> + i915_gem_request_completed(ring_last_request(ring), false));
> }
>
> static bool
> @@ -3261,7 +3261,7 @@ static void i915_hangcheck_elapsed(unsigned long data)
> acthd = intel_ring_get_active_head(ring);
>
> if (ring->hangcheck.seqno == seqno) {
> - if (ring_idle(ring, seqno)) {
> + if (ring_idle(ring)) {
> ring->hangcheck.action = HANGCHECK_IDLE;
>
> if (waitqueue_active(&ring->irq_queue)) {
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list