Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21976853 authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915: Expand ggtt_view parameters for debugfs



When dumping the VMA, include the parameters of the different GGTT views
so that we can distinguish them.

v2: Contract output and add MISSING_CASE for any unknown types.
v3: Show both stride and offset for rotated planes.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170112112108.31632-1-chris@chris-wilson.co.uk
parent fcd46e53
Loading
Loading
Loading
Loading
+29 −2
Original line number Diff line number Diff line
@@ -159,8 +159,35 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
		seq_printf(m, " (%sgtt offset: %08llx, size: %08llx",
			   i915_vma_is_ggtt(vma) ? "g" : "pp",
			   vma->node.start, vma->node.size);
		if (i915_vma_is_ggtt(vma))
			seq_printf(m, ", type: %u", vma->ggtt_view.type);
		if (i915_vma_is_ggtt(vma)) {
			switch (vma->ggtt_view.type) {
			case I915_GGTT_VIEW_NORMAL:
				seq_puts(m, ", normal");
				break;

			case I915_GGTT_VIEW_PARTIAL:
				seq_printf(m, ", partial [%08llx+%x]",
					   vma->ggtt_view.params.partial.offset << PAGE_SHIFT,
					   vma->ggtt_view.params.partial.size << PAGE_SHIFT);
				break;

			case I915_GGTT_VIEW_ROTATED:
				seq_printf(m, ", rotated [(%ux%u, stride=%u, offset=%u), (%ux%u, stride=%u, offset=%u)]",
					   vma->ggtt_view.params.rotated.plane[0].width,
					   vma->ggtt_view.params.rotated.plane[0].height,
					   vma->ggtt_view.params.rotated.plane[0].stride,
					   vma->ggtt_view.params.rotated.plane[0].offset,
					   vma->ggtt_view.params.rotated.plane[1].width,
					   vma->ggtt_view.params.rotated.plane[1].height,
					   vma->ggtt_view.params.rotated.plane[1].stride,
					   vma->ggtt_view.params.rotated.plane[1].offset);
				break;

			default:
				MISSING_CASE(vma->ggtt_view.type);
				break;
			}
		}
		if (vma->fence)
			seq_printf(m, " , fence: %d%s",
				   vma->fence->id,