On Wed, Sep 10, 2025 at 7:37 AM Prike Liang <prike.li...@amd.com> wrote:
>
> 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.
>

We need mesa code before we can land this new interface.

Alex

> 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