drm/amdgpu: Revert "kmap PDs/PTs in amdgpu_vm_update_directories"
authorChristian König <christian.koenig@amd.com>
Thu, 30 Aug 2018 07:45:07 +0000 (09:45 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Aug 2018 14:03:45 +0000 (09:03 -0500)
This reverts commit a7f91061c60ad9cac2e6a03b642be6a4f88b3662.

Felix pointed out that we need to have the BOs mapped even before
amdgpu_vm_update_directories is called.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Junwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c

index f50697df97994246ec51859de5179a41329ae93f..f31fa351caba19d45092872d927a02a95e969823 100644 (file)
@@ -343,7 +343,10 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm,
                        list_move(&bo_base->vm_status, &vm->moved);
                        spin_unlock(&vm->moved_lock);
                } else {
-                       r = amdgpu_ttm_alloc_gart(&bo->tbo);
+                       if (vm->use_cpu_for_update)
+                               r = amdgpu_bo_kmap(bo, NULL);
+                       else
+                               r = amdgpu_ttm_alloc_gart(&bo->tbo);
                        if (r)
                                break;
                        list_move(&bo_base->vm_status, &vm->relocated);
@@ -1094,14 +1097,6 @@ restart:
        params.adev = adev;
 
        if (vm->use_cpu_for_update) {
-               struct amdgpu_vm_bo_base *bo_base;
-
-               list_for_each_entry(bo_base, &vm->relocated, vm_status) {
-                       r = amdgpu_bo_kmap(bo_base->bo, NULL);
-                       if (unlikely(r))
-                               return r;
-               }
-
                r = amdgpu_vm_wait_pd(adev, vm, AMDGPU_FENCE_OWNER_VM);
                if (unlikely(r))
                        return r;