drm/i915: Record the in-flight requests at the time of a hang
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 15 Feb 2012 11:25:37 +0000 (11:25 +0000)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 15 Feb 2012 13:27:12 +0000 (14:27 +0100)
commit52d39a21350531063bf8f4f704101bd371ea5d7d
tree88f895179890372b1c9c59402ca57ab68208202f
parenta71d8d94525e8fd855c0466fb586ae1cb008f3a2
drm/i915: Record the in-flight requests at the time of a hang

Being able to tally the list of outstanding requests with the sequence
of commands in the ringbuffer is often useful evidence with respect to
driver corruption.

Note that since this is the umpteenth per-ring data structure to be added
to the error state, I've coallesced the nearby loops (the ringbuffer and
batchbuffer) into a single structure along with the list of requests.  A
later task would be to refactor the ring register state into the same
structure.

v2: Fix pretty printing of requests so that they are parsed correctly by
intel_error_decode and use the 0x%08x format for seqno for consistency

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_irq.c