[PATCH 1/4] drm/xe: Add uapi for dumpable bos
Souza, Jose
jose.souza at intel.com
Fri Jan 12 17:39:54 UTC 2024
On Fri, 2024-01-12 at 13:41 +0100, Maarten Lankhorst wrote:
> Add the flag XE_VM_BIND_FLAG_DUMPABLE to notify devcoredump that this
> mapping should be dumped.
>
> This is not hooked up, but the uapi should be ready before merging.
>
> It's likely easier to dump the contents of the bo's at devcoredump
> readout time, so it's better if the bos will stay unmodified after
> a hang. The NEEDS_CPU_MAPPING flag is removed as requirement.
I think that it will also need a uAPI to query if DRM_XE_VM_BIND_FLAG_DUMPABLE is supported by running Xe KMD version.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
> drivers/gpu/drm/xe/xe_vm.c | 8 +++-----
> include/uapi/drm/xe_drm.h | 1 +
> 2 files changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index a7e7a0b24099..0a3b9c0ad772 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -2687,12 +2687,13 @@ static int vm_bind_ioctl_ops_execute(struct xe_vm *vm,
> #ifdef TEST_VM_ASYNC_OPS_ERROR
> #define SUPPORTED_FLAGS \
> (FORCE_ASYNC_OP_ERROR | DRM_XE_VM_BIND_FLAG_READONLY | \
> - DRM_XE_VM_BIND_FLAG_IMMEDIATE | DRM_XE_VM_BIND_FLAG_NULL | 0xffff)
> + DRM_XE_VM_BIND_FLAG_IMMEDIATE | DRM_XE_VM_BIND_FLAG_NULL | \
> + DRM_XE_VM_BIND_FLAG_DUMPABLE | 0xffff)
> #else
> #define SUPPORTED_FLAGS \
> (DRM_XE_VM_BIND_FLAG_READONLY | \
> DRM_XE_VM_BIND_FLAG_IMMEDIATE | DRM_XE_VM_BIND_FLAG_NULL | \
> - 0xffff)
> + DRM_XE_VM_BIND_FLAG_DUMPABLE | 0xffff)
> #endif
> #define XE_64K_PAGE_MASK 0xffffull
> #define ALL_DRM_XE_SYNCS_FLAGS (DRM_XE_SYNCS_FLAG_WAIT_FOR_OP)
> @@ -2919,9 +2920,6 @@ int xe_vm_bind_ioctl(struct drm_device *dev, void *data, struct drm_file *file)
> u16 pat_index = bind_ops[i].pat_index;
> u16 coh_mode;
>
> - if (!obj)
> - continue;
> -
> gem_obj = drm_gem_object_lookup(file, obj);
> if (XE_IOCTL_DBG(xe, !gem_obj)) {
> err = -ENOENT;
> diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
> index 50bbea0992d9..0f975f57f3e5 100644
> --- a/include/uapi/drm/xe_drm.h
> +++ b/include/uapi/drm/xe_drm.h
> @@ -930,6 +930,7 @@ struct drm_xe_vm_bind_op {
> #define DRM_XE_VM_BIND_FLAG_READONLY (1 << 0)
> #define DRM_XE_VM_BIND_FLAG_IMMEDIATE (1 << 1)
> #define DRM_XE_VM_BIND_FLAG_NULL (1 << 2)
> +#define DRM_XE_VM_BIND_FLAG_DUMPABLE (1 << 3)
> /** @flags: Bind flags */
> __u32 flags;
>
More information about the Intel-xe
mailing list