drm/i915: Implement batch and ring buffer dumping
authorBen Gamari <bgamari@gmail.com>
Thu, 2 Apr 2009 18:24:54 +0000 (11:24 -0700)
committerEric Anholt <eric@anholt.net>
Wed, 8 Apr 2009 17:18:06 +0000 (10:18 -0700)
commit6911a9b8ae8b2a1dab4dfda9c2bd20f7ca2961d6
tree8679f210a6f214cdfd2bcfd0fc7c71464ec30919
parent8fe74cf053de7ad2124a894996f84fa890a81093
drm/i915: Implement batch and ring buffer dumping

We create a debugfs node (i915_ringbuffer_data) to expose a hex dump
of the ring buffer itself.  We also expose another debugfs node
(i915_ringbuffer_info) with information on the state (i.e. head, tail
addresses) of the ringbuffer.

For batchbuffer dumping, we look at the device's active_list, dumping
each object which has I915_GEM_DOMAIN_COMMAND in its read
domains. This is all exposed through the dri/i915_batchbuffers debugfs
file with a header for each object (giving the objects gtt_offset so
that it can be matched against the offset given in the
BATCH_BUFFER_START command.

Signed-off-by: Ben Gamari <bgamari@gmail.com>
Signed-off-by: Carl Worth <cworth@cworth.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_debugfs.c