aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-02-17 23:53:41 -0800
committerEric Anholt <eric@anholt.net>2009-03-27 15:12:04 -0700
commitf4ceda89895b56e2c03dd327f13d0256838a20ab (patch)
tree710899415d78d2e59e6fcf925434ee38e7125f66 /drivers/gpu
parent433e12f78b68a8069f54956edf766bb21394c197 (diff)
downloadkernel_samsung_espresso10-f4ceda89895b56e2c03dd327f13d0256838a20ab.zip
kernel_samsung_espresso10-f4ceda89895b56e2c03dd327f13d0256838a20ab.tar.gz
kernel_samsung_espresso10-f4ceda89895b56e2c03dd327f13d0256838a20ab.tar.bz2
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>
Diffstat (limited to 'drivers/gpu')
-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 4fc845c..f7e7d37 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;
}