From c26663eedec1535210f4b1f5638be25eab4f1479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Fri, 12 Jan 2024 09:45:26 -0800 Subject: [PATCH] anv/xe: Add VMs to error dump MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Lionel Landwerlin Signed-off-by: José Roberto de Souza Part-of: --- src/intel/vulkan/xe/anv_kmd_backend.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/xe/anv_kmd_backend.c b/src/intel/vulkan/xe/anv_kmd_backend.c index d96d6bc653b..6056f1193d3 100644 --- a/src/intel/vulkan/xe/anv_kmd_backend.c +++ b/src/intel/vulkan/xe/anv_kmd_backend.c @@ -111,6 +111,16 @@ xe_gem_mmap(struct anv_device *device, struct anv_bo *bo, uint64_t offset, device->fd, args.offset); } +static inline uint32_t +capture_vm_in_error_dump(struct anv_device *device, struct anv_bo *bo) +{ + enum anv_bo_alloc_flags alloc_flags = bo ? bo->alloc_flags : 0; + bool capture = INTEL_DEBUG(DEBUG_CAPTURE_ALL) || + (alloc_flags & ANV_BO_ALLOC_CAPTURE); + + return capture ? DRM_XE_VM_BIND_FLAG_DUMPABLE : 0; +} + static inline int xe_vm_bind_op(struct anv_device *device, struct anv_sparse_submission *submit) @@ -153,7 +163,7 @@ xe_vm_bind_op(struct anv_device *device, .range = bind->size, .addr = intel_48b_address(bind->address), .op = DRM_XE_VM_BIND_OP_UNMAP, - .flags = 0, + .flags = capture_vm_in_error_dump(device, bo), .prefetch_mem_region_instance = 0, };