[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