summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-02-18 08:53:41 +0100
committerDave Airlie <airlied@redhat.com>2009-03-13 05:24:08 +0100
commit97d479e77b8621cc6e1cb06eabe5a73390c8149c (patch)
tree7d96d8f601acf9e4c66ebf0712907b623a20380a /drivers
parentdrm/i915: Consolidate gem object list dumping (diff)
downloadlinux-97d479e77b8621cc6e1cb06eabe5a73390c8149c.tar.xz
linux-97d479e77b8621cc6e1cb06eabe5a73390c8149c.zip
drm/i915: Add information on pinning and fencing to the i915 list debug.
This was inspired by a patch by Chris Wilson, though none of it applied in any way due to the debugfs work and I decided to change the formatting of the new information anyway. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_debugfs.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_debugfs.c b/drivers/gpu/drm/i915/i915_gem_debugfs.c
index 4fc845cee804..f7e7d3750f8f 100644
--- a/drivers/gpu/drm/i915/i915_gem_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_gem_debugfs.c
@@ -70,18 +70,27 @@ static int i915_gem_object_list_info(struct seq_file *m, void *data)
list_for_each_entry(obj_priv, head, list)
{
+ char *pin_description;
struct drm_gem_object *obj = obj_priv->obj;
- if (obj->name) {
- seq_printf(m, " %p(%d): %08x %08x %d\n",
- obj, obj->name,
- obj->read_domains, obj->write_domain,
- obj_priv->last_rendering_seqno);
- } else {
- seq_printf(m, " %p: %08x %08x %d\n",
- obj,
- obj->read_domains, obj->write_domain,
- obj_priv->last_rendering_seqno);
- }
+
+ if (obj_priv->user_pin_count > 0)
+ pin_description = "P";
+ else if (obj_priv->pin_count > 0)
+ pin_description = "p";
+ else
+ pin_description = " ";
+
+ seq_printf(m, " %p: %s %08x %08x %d",
+ obj,
+ pin_description,
+ obj->read_domains, obj->write_domain,
+ obj_priv->last_rendering_seqno);
+
+ if (obj->name)
+ seq_printf(m, " (name: %d)", obj->name);
+ if (obj_priv->fence_reg != I915_FENCE_REG_NONE)
+ seq_printf(m, " (fence: %d\n", obj_priv->fence_reg);
+ seq_printf(m, "\n");
}
return 0;
}