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 */