summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_debugfs.c
diff options
context:
space:
mode:
authorDaniel Vetter2010-10-01 22:05:20 +0200
committerChris Wilson2010-10-28 00:31:08 +0200
commitfb7d516af11837126eb1e4a44ab0653bf9b57702 (patch)
treef74c587c80c53f6f30fdab9d80d41a40bbd1bc5e /drivers/gpu/drm/i915/i915_debugfs.c
parentdrm/i915: add mappable to gem_object_bind tracepoint (diff)
downloadkernel-qcow2-linux-fb7d516af11837126eb1e4a44ab0653bf9b57702.tar.gz
kernel-qcow2-linux-fb7d516af11837126eb1e4a44ab0653bf9b57702.tar.xz
kernel-qcow2-linux-fb7d516af11837126eb1e4a44ab0653bf9b57702.zip
drm/i915: add accounting for mappable objects in gtt v2
More precisely: For those that _need_ to be mappable. Also add two BUG_ONs in fault and pin to check the consistency of the mappable flag. Changes in v2: - Add tracking of gtt mappable space (to notice mappable/unmappable balancing issues). - Improve the mappable working set tracking by tracking fault and pin separately. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> 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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index beb3de7921b5..2e5961139326 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -131,6 +131,8 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
seq_printf(m, " (fence: %d)", obj->fence_reg);
if (obj->gtt_space != NULL)
seq_printf(m, " (gtt_offset: %08x)", obj->gtt_offset);
+ if (obj->pin_mappable || obj->fault_mappable)
+ seq_printf(m, " (mappable)");
if (obj->ring != NULL)
seq_printf(m, " (%s)", obj->ring->name);
}
@@ -207,6 +209,10 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
seq_printf(m, "%zu object bytes\n", dev_priv->mm.object_memory);
seq_printf(m, "%u pinned\n", dev_priv->mm.pin_count);
seq_printf(m, "%zu pin bytes\n", dev_priv->mm.pin_memory);
+ seq_printf(m, "%u mappable objects in gtt\n", dev_priv->mm.gtt_mappable_count);
+ seq_printf(m, "%zu mappable gtt bytes\n", dev_priv->mm.gtt_mappable_memory);
+ seq_printf(m, "%zu mappable gtt used bytes\n", dev_priv->mm.mappable_gtt_used);
+ seq_printf(m, "%zu mappable gtt total\n", dev_priv->mm.mappable_gtt_total);
seq_printf(m, "%u objects in gtt\n", dev_priv->mm.gtt_count);
seq_printf(m, "%zu gtt bytes\n", dev_priv->mm.gtt_memory);
seq_printf(m, "%zu gtt total\n", dev_priv->mm.gtt_total);