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 e418e8b..b8e509a 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)