On 4/30/25 17:48, Alex Deucher wrote:
> Add an API to query queue status such as whether the
> queue is hung or whether vram is lost.
> 
> Reviewed-by: Sunil Khatri <sunil.kha...@amd.com>
> Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>

Reviewed-by: Christian König <christian.koe...@amd.com>

> ---
>  include/uapi/drm/amdgpu_drm.h | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
> index 1fd96474e64c0..56f052a10ff38 100644
> --- a/include/uapi/drm/amdgpu_drm.h
> +++ b/include/uapi/drm/amdgpu_drm.h
> @@ -328,6 +328,7 @@ union drm_amdgpu_ctx {
>  /* user queue IOCTL operations */
>  #define AMDGPU_USERQ_OP_CREATE       1
>  #define AMDGPU_USERQ_OP_FREE 2
> +#define AMDGPU_USERQ_OP_QUERY_STATUS 3
>  
>  /* queue priority levels */
>  /* low < normal low < normal high < high */
> @@ -340,6 +341,12 @@ union drm_amdgpu_ctx {
>  /* for queues that need access to protected content */
>  #define AMDGPU_USERQ_CREATE_FLAGS_QUEUE_SECURE  (1 << 2)
>  
> +
> +/* the queue is hung */
> +#define AMDGPU_USERQ_QUERY_STATUS_FLAGS_HUNG    (1 << 0)
> +/* indicate vram lost since queue was created */
> +#define AMDGPU_USERQ_QUERY_STATUS_FLAGS_VRAMLOST (1 << 1)
> +
>  /*
>   * This structure is a container to pass input configuration
>   * info for all supported userqueue related operations.
> @@ -421,9 +428,16 @@ struct drm_amdgpu_userq_out {
>       __u32 _pad;
>  };
>  
> +/* The structure to carry output of userqueue ops */
> +struct drm_amdgpu_userq_out_query_state {
> +     __u32 flags;
> +     __u32 _pad;
> +};
> +
>  union drm_amdgpu_userq {
>       struct drm_amdgpu_userq_in in;
>       struct drm_amdgpu_userq_out out;
> +     struct drm_amdgpu_userq_out_query_state out_qs;
>  };
>  
>  /* GFX V11 IP specific MQD parameters */

Reply via email to