[Public]

Reviewed-by: Prike Liang <prike.li...@amd.com>

Regards,
      Prike

> -----Original Message-----
> From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> On Behalf Of Prike Liang
> Sent: Wednesday, September 10, 2025 7:37 PM
> To: amd-gfx@lists.freedesktop.org
> Cc: Deucher, Alexander <alexander.deuc...@amd.com>; Koenig, Christian
> <christian.koe...@amd.com>; Deucher, Alexander
> <alexander.deuc...@amd.com>; Koenig, Christian <christian.koe...@amd.com>;
> Khatri, Sunil <sunil.kha...@amd.com>
> Subject: [PATCH 1/9] drm/amdgpu: add UAPI for user queue query status
>
> From: Alex Deucher <alexander.deuc...@amd.com>
>
> Add an API to query queue status such as whether the queue is hung or whether
> vram is lost.
>
> Reviewed-by: Christian König <christian.koe...@amd.com>
> Reviewed-by: Sunil Khatri <sunil.kha...@amd.com>
> Signed-off-by: Alex Deucher <alexander.deuc...@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
> 85b3ca14f81e..7292f7bfcd13 100644
> --- a/include/uapi/drm/amdgpu_drm.h
> +++ b/include/uapi/drm/amdgpu_drm.h
> @@ -334,6 +334,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 */ @@ -346,6 +347,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.
> @@ -427,9 +434,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 */
> --
> 2.34.1

Reply via email to