On Fri, Sep 12, 2025 at 2:14 AM Prike Liang <prike.li...@amd.com> wrote:
>
> Extend the userq state for identifying the
> userq invalid cases.
>
> Signed-off-by: Prike Liang <prike.li...@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 2 ++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h | 1 +
>  2 files changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> index 83f0ecdaa0b7..ba7be4db5a01 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> @@ -576,6 +576,8 @@ amdgpu_userq_query_status(struct drm_file *filp, union 
> drm_amdgpu_userq *args)
>                 args->out_qs.flags |= AMDGPU_USERQ_QUERY_STATUS_FLAGS_HUNG;
>         if (queue->generation != amdgpu_vm_generation(adev, &fpriv->vm))
>                 args->out_qs.flags |= 
> AMDGPU_USERQ_QUERY_STATUS_FLAGS_VRAMLOST;
> +       if (queue->state == AMDGPU_USERQ_STATE_INVALID_VA)
> +               args->out_qs.flags |= 
> AMDGPU_USERQ_QUERY_STATUS_FLAGS_INVALID_VA;
>
>         mutex_unlock(&uq_mgr->userq_mutex);
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h
> index 2260b1fb8a22..33a582200dda 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h
> @@ -37,6 +37,7 @@ enum amdgpu_userq_state {
>         AMDGPU_USERQ_STATE_MAPPED,
>         AMDGPU_USERQ_STATE_PREEMPTED,
>         AMDGPU_USERQ_STATE_HUNG,
> +       AMDGPU_USERQ_STATE_INVALID_VA,

Split this patch into 2 parts, one to add the new queue state and one
to update the query status IOCTL.  Then move patches 1-3 and the query
status part of this patch to the end of the series so that we can land
the validation code while we work on adding query status to mesa.

Alex

>  };
>
>  struct amdgpu_mqd_prop;
> --
> 2.34.1
>

Reply via email to