The fence_owner logic in amdgpu_sync_wait will allow waiting without
having to temporarily remove eviction fences.

Signed-off-by: Felix Kuehling <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 6 ++++--
 1 file changed, 4 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 d7b10d7..492439c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -355,7 +355,8 @@ static int amdgpu_amdkfd_bo_validate(struct amdgpu_bo *bo, 
uint32_t domain,
                if (ret)
                        goto validate_fail;
 
-               ttm_bo_wait(&bo->tbo, false, false);
+               amdgpu_sync_wait_resv(NULL, bo->tbo.resv,
+                                     AMDGPU_FENCE_OWNER_KFD, false);
                amdgpu_amdkfd_add_eviction_fence(bo, ef_list, ef_count);
        }
 
@@ -1002,7 +1003,8 @@ static int init_kfd_vm(struct amdgpu_vm *vm, void 
**process_info,
                pr_err("validate_pt_pd_bos() failed\n");
                goto validate_pd_fail;
        }
-       ret = ttm_bo_wait(&vm->root.base.bo->tbo, false, false);
+       amdgpu_sync_wait_resv(NULL, vm->root.base.bo->tbo.resv,
+                             AMDGPU_FENCE_OWNER_KFD, false);
        if (ret)
                goto wait_pd_fail;
        amdgpu_bo_fence(vm->root.base.bo,
-- 
2.7.4

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to