drm/i915: Wait upon the last request seqno, rather than a future seqno
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 22 Nov 2012 13:07:20 +0000 (13:07 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 29 Nov 2012 10:43:51 +0000 (11:43 +0100)
commitb5d177946a30b097fbd1e5afa7c11acdeeb6bad8
tree205bb42a43314948eea1eb6b5e32abca6b39721c
parent4f1ba0f83a6d4abd055cf75af43954b38df8dcaf
drm/i915: Wait upon the last request seqno, rather than a future seqno

In commit 69c2fc891343cb5217c866d10709343cff190bdc
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Jul 20 12:41:03 2012 +0100

    drm/i915: Remove the per-ring write list

the explicit flush was removed from i915_ring_idle(). However, we
continued to wait upon the next seqno which now did not correspond to
any request (except for the unusual condition of a failure to queue a
request after execbuffer) and so would wait indefinitely.

This has an important side-effect that i915_gpu_idle() does not cause
the seqno to be incremented. This is vital if we are to be able to idle
the GPU to handle seqno wraparound, as in subsequent patches.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c