]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/uapi: Add DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE
authorMatthew Brost <matthew.brost@intel.com>
Wed, 26 Nov 2025 18:59:50 +0000 (10:59 -0800)
committerMatthew Brost <matthew.brost@intel.com>
Mon, 1 Dec 2025 18:03:17 +0000 (10:03 -0800)
Add DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE which accepts a user pointer
to populate the exec queue state so that a GPU hang can be replayed via
a Mesa tool.

v2: Update the value for HANG_REPLAY_STATE flag

Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Carlos Santa <carlos.santa@intel-corp-partner.google.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
Acked-by: José Roberto de Souza <jose.souza@intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patch.msgid.link/20251126185952.546277-8-matthew.brost@intel.com
include/uapi/drm/xe_drm.h

index 47853659a705e372e157f51ffe22c1d2fab4a6ff..37881b1eb6bad25b3676d6d8da4f4aa5f6aecf02 100644 (file)
@@ -210,8 +210,12 @@ struct drm_xe_ext_set_property {
        /** @pad: MBZ */
        __u32 pad;
 
-       /** @value: property value */
-       __u64 value;
+       union {
+               /** @value: property value */
+               __u64 value;
+               /** @ptr: pointer to user value */
+               __u64 ptr;
+       };
 
        /** @reserved: Reserved */
        __u64 reserved[2];
@@ -1292,6 +1296,7 @@ struct drm_xe_exec_queue_create {
 #define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY              0
 #define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE             1
 #define   DRM_XE_EXEC_QUEUE_SET_PROPERTY_PXP_TYPE              2
+#define   DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE              3
        /** @extensions: Pointer to the first extension struct, if any */
        __u64 extensions;