aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/2871-drm-amdkfd-kmap-PD-bo-after-PD-is-restored.patch
blob: ca90d5123a7dd2c82a3411f53a16871d55ecba68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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