[PATCH 1/1] drm/amdgpu: Use GEM obj reference for KFD BOs
Christian König
ckoenig.leichtzumerken at gmail.com
Wed May 6 08:11:44 UTC 2020
Am 06.05.20 um 02:59 schrieb Felix Kuehling:
> Releasing the AMDGPU BO ref directly leads to problems when BOs were
> exported as DMA bufs. Releasing the GEM reference makes sure that the
> AMDGPU/TTM BO is not freed too early.
>
> Also take a GEM reference when importing BOs from DMABufs to keep
> references to imported BOs balances properly.
>
> Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com>
> Tested-by: Alex Sierra <alex.sierra at amd.com>
Acked-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 1247938b1ec1..da8b31a53291 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -1354,7 +1354,7 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
> }
>
> /* Free the BO*/
> - amdgpu_bo_unref(&mem->bo);
> + drm_gem_object_put_unlocked(&mem->bo->tbo.base);
> mutex_destroy(&mem->lock);
> kfree(mem);
>
> @@ -1699,7 +1699,8 @@ int amdgpu_amdkfd_gpuvm_import_dmabuf(struct kgd_dev *kgd,
> | KFD_IOC_ALLOC_MEM_FLAGS_WRITABLE
> | KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE;
>
> - (*mem)->bo = amdgpu_bo_ref(bo);
> + drm_gem_object_get(&bo->tbo.base);
> + (*mem)->bo = bo;
> (*mem)->va = va;
> (*mem)->domain = (bo->preferred_domains & AMDGPU_GEM_DOMAIN_VRAM) ?
> AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT;
More information about the amd-gfx
mailing list