]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/amdgpu: Reserve shared fence for eviction fence
authorFelix Kuehling <Felix.Kuehling@amd.com>
Wed, 1 May 2019 21:43:10 +0000 (17:43 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2019 05:24:33 +0000 (07:24 +0200)
[ Upstream commit dd68722c427d5b33420dce0ed0c44b4881e0a416 ]

Need to reserve space for the shared eviction fence when initializing
a KFD VM.

Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c

index a6e5184d436c9339008e0c62d55dd44c75282181..4b192e0ce92f4044150de4a40656c548508dcb64 100644 (file)
@@ -896,6 +896,9 @@ static int init_kfd_vm(struct amdgpu_vm *vm, void **process_info,
                                  AMDGPU_FENCE_OWNER_KFD, false);
        if (ret)
                goto wait_pd_fail;
+       ret = reservation_object_reserve_shared(vm->root.base.bo->tbo.resv, 1);
+       if (ret)
+               goto reserve_shared_fail;
        amdgpu_bo_fence(vm->root.base.bo,
                        &vm->process_info->eviction_fence->base, true);
        amdgpu_bo_unreserve(vm->root.base.bo);
@@ -909,6 +912,7 @@ static int init_kfd_vm(struct amdgpu_vm *vm, void **process_info,
 
        return 0;
 
+reserve_shared_fail:
 wait_pd_fail:
 validate_pd_fail:
        amdgpu_bo_unreserve(vm->root.base.bo);