| From 34004cbab5bb27341c7fedc250e77a2f9e76e9c2 Mon Sep 17 00:00:00 2001 |
| From: Ben Widawsky <ben@bwidawsk.net> |
| Date: Wed, 31 Jul 2013 17:00:00 -0700 |
| Subject: drm/i915: Update describe_obj |
| |
| Make it aware of which domain it is bound into GGTT, or PPGTT. |
| |
| While modifying the function, add a global gtt flag to the object |
| description. Global is more interesting than aliasing since aliasing is |
| the default. |
| |
| v2: Access VMA directly for start/size instead of helpers (Daniel) |
| |
| Signed-off-by: Ben Widawsky <ben@bwidawsk.net> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| (cherry picked from commit 1d693bcc37461a66fafd13ff171c4496aee0df98) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/i915/i915_debugfs.c | 20 ++++++++++++++++---- |
| 1 file changed, 16 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c |
| index 04debcedac2d..748af58b0cea 100644 |
| --- a/drivers/gpu/drm/i915/i915_debugfs.c |
| +++ b/drivers/gpu/drm/i915/i915_debugfs.c |
| @@ -89,13 +89,20 @@ static const char *get_tiling_flag(struct drm_i915_gem_object *obj) |
| } |
| } |
| |
| +static inline const char *get_global_flag(struct drm_i915_gem_object *obj) |
| +{ |
| + return obj->has_global_gtt_mapping ? "g" : " "; |
| +} |
| + |
| static void |
| describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) |
| { |
| - seq_printf(m, "%pK: %s%s %8zdKiB %02x %02x %d %d %d%s%s%s", |
| + struct i915_vma *vma; |
| + seq_printf(m, "%pK: %s%s%s %8zdKiB %02x %02x %d %d %d%s%s%s", |
| &obj->base, |
| get_pin_flag(obj), |
| get_tiling_flag(obj), |
| + get_global_flag(obj), |
| obj->base.size / 1024, |
| obj->base.read_domains, |
| obj->base.write_domain, |
| @@ -111,9 +118,14 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj) |
| seq_printf(m, " (pinned x %d)", obj->pin_count); |
| if (obj->fence_reg != I915_FENCE_REG_NONE) |
| seq_printf(m, " (fence: %d)", obj->fence_reg); |
| - if (i915_gem_obj_ggtt_bound(obj)) |
| - seq_printf(m, " (gtt offset: %08lx, size: %08x)", |
| - i915_gem_obj_ggtt_offset(obj), (unsigned int)i915_gem_obj_ggtt_size(obj)); |
| + list_for_each_entry(vma, &obj->vma_list, vma_link) { |
| + if (!i915_is_ggtt(vma->vm)) |
| + seq_puts(m, " (pp"); |
| + else |
| + seq_puts(m, " (g"); |
| + seq_printf(m, "gtt offset: %08lx, size: %08lx)", |
| + vma->node.start, vma->node.size); |
| + } |
| if (obj->stolen) |
| seq_printf(m, " (stolen: %08lx)", obj->stolen->start); |
| if (obj->pin_mappable || obj->fault_mappable) { |
| -- |
| 1.8.5.rc3 |
| |