diff options
author | Rodrigo Vivi <rodrigo.vivi@intel.com> | 2023-10-17 22:24:41 -0400 |
---|---|---|
committer | Francois Dugast <francois.dugast@intel.com> | 2023-12-05 09:26:37 +0100 |
commit | 3751b43e0fd124e04d5bdd5b4f59c71a115c49a6 (patch) | |
tree | 1525dca39b552c9d5afdce059b06a367dbbdb1fa /include | |
parent | 9eb2eec7b1e95234c6d5069cf5230d2db7d1b455 (diff) |
drm-uapi/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
Align with kernel commit ("drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof")
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/drm-uapi/xe_drm.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h index 01e0587dc..6e97270dc 100644 --- a/include/drm-uapi/xe_drm.h +++ b/include/drm-uapi/xe_drm.h @@ -124,7 +124,14 @@ struct xe_user_extension { #define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property) #define DRM_IOCTL_XE_WAIT_USER_FENCE DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence) -/** struct drm_xe_engine_class_instance - instance of an engine class */ +/** + * struct drm_xe_engine_class_instance - instance of an engine class + * + * It is returned as part of the @drm_xe_query_engine_info, but it also is + * used as the input of engine selection for both @drm_xe_exec_queue_create + * and @drm_xe_query_engine_cycles + * + */ struct drm_xe_engine_class_instance { #define DRM_XE_ENGINE_CLASS_RENDER 0 #define DRM_XE_ENGINE_CLASS_COPY 1 @@ -146,6 +153,21 @@ struct drm_xe_engine_class_instance { }; /** + * struct drm_xe_query_engine_info - describe hardware engine + * + * If a query is made with a struct @drm_xe_device_query where .query + * is equal to %DRM_XE_DEVICE_QUERY_ENGINES, then the reply uses an array of + * struct @drm_xe_query_engine_info in .data. + */ +struct drm_xe_query_engine_info { + /** @instance: The @drm_xe_engine_class_instance */ + struct drm_xe_engine_class_instance instance; + + /** @reserved: Reserved */ + __u64 reserved[3]; +}; + +/** * enum drm_xe_memory_class - Supported memory classes. */ enum drm_xe_memory_class { |