diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2871-drm-amdkfd-kmap-PD-bo-after-PD-is-restored.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2871-drm-amdkfd-kmap-PD-bo-after-PD-is-restored.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2871-drm-amdkfd-kmap-PD-bo-after-PD-is-restored.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2871-drm-amdkfd-kmap-PD-bo-after-PD-is-restored.patch new file mode 100644 index 00000000..ca90d512 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2871-drm-amdkfd-kmap-PD-bo-after-PD-is-restored.patch @@ -0,0 +1,36 @@ +From 43549598ed8eaaafbce4835813018bcc8db16223 Mon Sep 17 00:00:00 2001 +From: Philip Yang <Philip.Yang@amd.com> +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 <Philip.Yang@amd.com> +--- + 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 + |