drm/i915: Fix error handler to capture the first batch after the seqno

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>
This commit is contained in:
Chris Wilson 2011-01-12 20:33:01 +00:00
parent a76150302d
commit c37d9a5de9

View file

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