On 08/30/2018 03:50 PM, Christian König wrote: > 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 at amd.com> Acked-by: Junwei Zhang <Jerry.Zhang at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 33d9ce229f4a..72f8c750e128 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -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); > @@ -1093,14 +1096,6 @@ int amdgpu_vm_update_directories(struct amdgpu_device *adev, > 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; >