drm/i915: Fix error handler to capture the first batch after the seqno
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 12 Jan 2011 20:33:01 +0000 (20:33 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 13 Jan 2011 16:06:05 +0000 (16:06 +0000)
Whilst we had no older batches on the active list, everything was fine.
However, if the GPU is free running and the requests are only being
reaped by the periodic retirer, than the current seqno may not be at the
start of the list. In this case we need to select the first batch after
the last seqno written by the gpu and not inclusive of the seqno.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_irq.c

index e418e8bb61e66f4de9baadaafa23c3a286cb00f4..b8e509ae065e41c0e5580b48454609dfc3314b55 100644 (file)
@@ -720,7 +720,7 @@ i915_error_first_batchbuffer(struct drm_i915_private *dev_priv,
                if (obj->ring != ring)
                        continue;
 
-               if (!i915_seqno_passed(obj->last_rendering_seqno, seqno))
+               if (i915_seqno_passed(seqno, obj->last_rendering_seqno))
                        continue;
 
                if ((obj->base.read_domains & I915_GEM_DOMAIN_COMMAND) == 0)