On 5/20/26 14:10, Sunil Khatri wrote:
> mqd_destroy cleans up the queue core objects like mqd and fw_object
> which are needed for any pending fence to signal properly.
> 
> Signed-off-by: Sunil Khatri <[email protected]>

Reviewed-by: Christian König <[email protected]>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> index eaaffcdd6960..8cc3c8e7e166 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
> @@ -417,12 +417,10 @@ static void amdgpu_userq_cleanup(struct 
> amdgpu_usermode_queue *queue)
>  {
>       struct amdgpu_userq_mgr *uq_mgr = queue->userq_mgr;
>       struct amdgpu_device *adev = uq_mgr->adev;
> -     const struct amdgpu_userq_funcs *uq_funcs = 
> adev->userq_funcs[queue->queue_type];
>  
>       /* Wait for mode-1 reset to complete */
>       down_read(&adev->reset_domain->sem);
>  
> -     uq_funcs->mqd_destroy(queue);
>       /* Use interrupt-safe locking since IRQ handlers may access these 
> XArrays */
>       xa_erase_irq(&adev->userq_doorbell_xa, queue->doorbell_index);
>       amdgpu_userq_fence_driver_free(queue);
> @@ -543,6 +541,7 @@ amdgpu_userq_destroy(struct amdgpu_userq_mgr *uq_mgr, 
> struct amdgpu_usermode_que
>       struct amdgpu_device *adev = uq_mgr->adev;
>       struct amdgpu_fpriv *fpriv = uq_mgr_to_fpriv(uq_mgr);
>       struct amdgpu_vm *vm = &fpriv->vm;
> +     const struct amdgpu_userq_funcs *uq_funcs;
>  
>       int r = 0;
>  
> @@ -567,6 +566,8 @@ amdgpu_userq_destroy(struct amdgpu_userq_mgr *uq_mgr, 
> struct amdgpu_usermode_que
>       amdgpu_bo_unreserve(vm->root.bo);
>       list_del(&queue->userq_va_list);
>       queue->userq_mgr = NULL;
> +     uq_funcs = adev->userq_funcs[queue->queue_type];
> +     uq_funcs->mqd_destroy(queue);
>  
>       amdgpu_bo_reserve(queue->db_obj.obj, true);
>       amdgpu_bo_unpin(queue->db_obj.obj);

Reply via email to