summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_debugfs.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-10-29 21:00:54 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-10-29 21:00:54 +0100
commit4066c0ae13a8388b9f2a29cad60da330b578eff2 (patch)
treecd9655b3f8d55f1251359c2f06f0542e0e1aa823 /drivers/gpu/drm/i915/i915_debugfs.c
parente380f60b22eddec7825224b8d788572c82b63161 (diff)
drm/i915/debugfs: Display the contents of the BLT and BSD status pages
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_debugfs.c')
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 70eec5aceab..58cf60d89f6 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -445,10 +445,18 @@ static int i915_hws_info(struct seq_file *m, void *data)
struct drm_info_node *node = (struct drm_info_node *) m->private;
struct drm_device *dev = node->minor->dev;
drm_i915_private_t *dev_priv = dev->dev_private;
- int i;
+ struct intel_ring_buffer *ring;
volatile u32 *hws;
+ int i;
+
+ switch ((uintptr_t)node->info_ent->data) {
+ case RENDER_RING: ring = &dev_priv->render_ring; break;
+ case BSD_RING: ring = &dev_priv->bsd_ring; break;
+ case BLT_RING: ring = &dev_priv->blt_ring; break;
+ default: return -EINVAL;
+ }
- hws = (volatile u32 *)dev_priv->render_ring.status_page.page_addr;
+ hws = (volatile u32 *)ring->status_page.page_addr;
if (hws == NULL)
return 0;
@@ -1087,7 +1095,9 @@ static struct drm_info_list i915_debugfs_list[] = {
{"i915_gem_seqno", i915_gem_seqno_info, 0},
{"i915_gem_fence_regs", i915_gem_fence_regs_info, 0},
{"i915_gem_interrupt", i915_interrupt_info, 0},
- {"i915_gem_hws", i915_hws_info, 0},
+ {"i915_gem_hws", i915_hws_info, 0, (void *)RENDER_RING},
+ {"i915_gem_hws_blt", i915_hws_info, 0, (void *)BLT_RING},
+ {"i915_gem_hws_bsd", i915_hws_info, 0, (void *)BSD_RING},
{"i915_ringbuffer_data", i915_ringbuffer_data, 0, (void *)RENDER_RING},
{"i915_ringbuffer_info", i915_ringbuffer_info, 0, (void *)RENDER_RING},
{"i915_bsd_ringbuffer_data", i915_ringbuffer_data, 0, (void *)BSD_RING},