[PATCH] drm/amdgpu: reserve the pd while cleaning up PRTs
Felix Kuehling
felix.kuehling at amd.com
Mon Feb 7 14:36:41 UTC 2022
Am 2022-02-07 um 03:07 schrieb Christian König:
> We want to have lockdep annotation here, so make sure that we reserve
> the PD while removing PRTs even if it isn't strictly necessary since the
> VM object is about to be destroyed anyway.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index efd13898c83e..9f985bd463be 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -1194,8 +1194,6 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
> if (amdgpu_device_ip_get_ip_block(adev, AMD_IP_BLOCK_TYPE_VCE) != NULL)
> amdgpu_vce_free_handles(adev, file_priv);
>
> - amdgpu_vm_bo_del(adev, fpriv->prt_va);
> -
> if (amdgpu_mcbp || amdgpu_sriov_vf(adev)) {
> /* TODO: how to handle reserve failure */
> BUG_ON(amdgpu_bo_reserve(adev->virt.csa_obj, true));
> @@ -1206,6 +1204,10 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
>
> pasid = fpriv->vm.pasid;
> pd = amdgpu_bo_ref(fpriv->vm.root.bo);
> + if (!WARN_ON(amdgpu_bo_reserve(pd, true))) {
> + amdgpu_vm_bo_del(adev, fpriv->prt_va);
> + amdgpu_bo_unreserve(pd);
> + }
>
> amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
> amdgpu_vm_fini(adev, &fpriv->vm);
More information about the amd-gfx
mailing list