[PATCH v3 6/9] drm/xe: Add VM.uapi_flags to VM snapshot capture
Matthew Brost
matthew.brost at intel.com
Thu Mar 20 19:28:28 UTC 2025
Add VM.uapi_flags to VM snapshot capture VM snapshot capture. This is
useful information for debug and will help build a robust GPU hang
replay tool.
The current format is:
VM.uapi_flags: 0x%x
Cc: José Roberto de Souza <jose.souza at intel.com>
Signed-off-by: Matthew Brost <matthew.brost at intel.com>
---
drivers/gpu/drm/xe/xe_vm.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 94bf056da5b9..b51598d39149 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -3705,6 +3705,7 @@ int xe_vm_validate_protected(struct xe_vm *vm)
}
struct xe_vm_snapshot {
+ int uapi_flags;
unsigned long num_snaps;
struct {
u64 ofs, bo_ofs;
@@ -3743,6 +3744,13 @@ struct xe_vm_snapshot *xe_vm_snapshot_capture(struct xe_vm *vm)
goto out_unlock;
}
+ if (vm->flags & XE_VM_FLAG_FAULT_MODE)
+ snap->uapi_flags |= DRM_XE_VM_CREATE_FLAG_FAULT_MODE;
+ if (vm->flags & XE_VM_FLAG_LR_MODE)
+ snap->uapi_flags |= DRM_XE_VM_CREATE_FLAG_LR_MODE;
+ if (vm->flags & XE_VM_FLAG_SCRATCH_PAGE)
+ snap->uapi_flags |= DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE;
+
snap->num_snaps = num_snaps;
i = 0;
drm_gpuvm_for_each_va(gpuva, &vm->gpuvm) {
@@ -3856,6 +3864,7 @@ void xe_vm_snapshot_print(struct xe_vm_snapshot *snap, struct drm_printer *p)
return;
}
+ drm_printf(p, "VM.uapi_flags: 0x%x\n", snap->uapi_flags);
for (i = 0; i < snap->num_snaps; i++) {
drm_printf(p, "[%llx].length: 0x%lx\n", snap->snap[i].ofs, snap->snap[i].len);
--
2.34.1
More information about the Intel-xe
mailing list