From 43549598ed8eaaafbce4835813018bcc8db16223 Mon Sep 17 00:00:00 2001 From: Philip Yang Date: Wed, 29 Nov 2017 17:00:13 -0500 Subject: [PATCH 2871/4131] drm/amdkfd: kmap PD bo after PD is restored PD kmap is removed after PD bo is evicted, kmap PD after PD BO is restored because update directory using cpu to access PD for large bar. If PD BO kmap still exist, this will do nothing. Change-Id: If55dd8d8c57acd6f7f328aef65a64384ced834c3 Signed-off-by: Philip Yang --- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c index 869487b5..3082f67 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c @@ -403,6 +403,13 @@ static int vm_validate_pt_pd_bos(struct amdgpu_vm *vm) pr_err("amdgpu: failed to validate PD\n"); return ret; } + if (vm->use_cpu_for_update) { + ret = amdgpu_bo_kmap(pd, NULL); + if (ret) { + pr_err("amdgpu: failed to kmap PD, ret=%d\n", ret); + return ret; + } + } ret = amdgpu_vm_update_directories(adev, vm); if (ret != 0) -- 2.7.4