[Intel-xe] [RFC 23/25] drm/xe: Capture metadata attached to vma

Mika Kuoppala mika.kuoppala at linux.intel.com
Mon Nov 6 11:18:43 UTC 2023


From: Dominik Grzegorzek <dominik.grzegorzek at intel.com>

Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
---
 drivers/gpu/drm/xe/xe_usercoredump.c       | 7 ++++++-
 drivers/gpu/drm/xe/xe_usercoredump_types.h | 2 ++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_usercoredump.c b/drivers/gpu/drm/xe/xe_usercoredump.c
index 1b90fecb1472..faa7b1ae980b 100644
--- a/drivers/gpu/drm/xe/xe_usercoredump.c
+++ b/drivers/gpu/drm/xe/xe_usercoredump.c
@@ -107,6 +107,8 @@ vma_snapshot_create(struct xe_vma *vma, u64 addr, bool is_vram)
 	s->is_vram = is_vram;
 	s->is_userptr = xe_vma_is_userptr(vma);
 	s->is_null = xe_vma_is_null(vma);
+	s->metadata = vma->debug.metadata;
+	s->cookie = vma->debug.cookie;
 
 	/* Ignore alloc failure by omitting contents */
 	if (xe_vma_is_capture_requested(vma)) {
@@ -378,13 +380,16 @@ static void vma_snapshot_print(struct drm_printer *p,
 	const bool is_userptr = s->is_userptr;
 	const bool is_captured = s->flags & XE_VMA_CAPTURE;
 
-	drm_printf(p, " [%016llx-%016llx] S:0x%016llx f:%08x A:%016llx %s %s\n",
+	drm_printf(p, " [%016llx-%016llx] S:0x%016llx f:%08x A:%016llx %s %s",
 		   s->start, s->start + s->size,
 		   s->size, s->flags,
 		   s->dma_addr, is_null ? "NULL" : is_userptr ? "USR" :
 		   s->is_vram ? "VRAM" : "SYS",
 		   is_captured ? "(captured)" : "");
 
+	drm_printf(p, s->metadata ? " m:%u c:0x%016llx\n" : "\n",
+		   s->metadata, s->cookie);
+
 	if (s->data)
 		hexdump(p, s->data, s->captured_bytes);
 }
diff --git a/drivers/gpu/drm/xe/xe_usercoredump_types.h b/drivers/gpu/drm/xe/xe_usercoredump_types.h
index b3aa29f23096..12ebb076887f 100644
--- a/drivers/gpu/drm/xe/xe_usercoredump_types.h
+++ b/drivers/gpu/drm/xe/xe_usercoredump_types.h
@@ -26,6 +26,8 @@ struct xe_vma_snapshot {
 	u64 size;
 	u64 dma_addr;
 	u64 captured_bytes;
+	u32 metadata;
+	u64 cookie;
 	bool is_vram:1;
 	bool is_userptr:1;
 	bool is_null;
-- 
2.34.1



More information about the Intel-xe mailing list