drm/i915: Add ringbuffer wait reset to hangcheck
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 8 Aug 2010 19:38:12 +0000 (20:38 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Wed, 8 Sep 2010 10:29:59 +0000 (11:29 +0100)
commit8c80b59b370b4d942f595bdb4a6d23494f77a810
treecd1faa49986f62e1f37fde2cbc162343a922dd2d
parent4b60e5cb707aa1d44fd01680296a2caf45dd6fae
drm/i915: Add ringbuffer wait reset to hangcheck

The GPU records whether it is currently waiting for a completion of a
WAIT_FOR_EVENT in the RB_WAIT bit in the ringbuffer control registers.
On third generation chipsets and later, a write of 1 to this bit breaks
the hang and returns the GPU to arbitration, i.e. the GPU should
continue executing the reminder of the batchbuffer and return to normal
operations.

By adding this to hangcheck we can avoid a full GPU reset under these
conditions.

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