aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/1416-drm-amdkfd-BOs-should-be-unpinned-after-unmap_bo_fro.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1416-drm-amdkfd-BOs-should-be-unpinned-after-unmap_bo_fro.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/1416-drm-amdkfd-BOs-should-be-unpinned-after-unmap_bo_fro.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1416-drm-amdkfd-BOs-should-be-unpinned-after-unmap_bo_fro.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/1416-drm-amdkfd-BOs-should-be-unpinned-after-unmap_bo_fro.patch
new file mode 100644
index 00000000..b2e2cc94
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/1416-drm-amdkfd-BOs-should-be-unpinned-after-unmap_bo_fro.patch
@@ -0,0 +1,49 @@
+From 3424bc1de886b293e0741ae9f852ed7c3771b412 Mon Sep 17 00:00:00 2001
+From: Yong Zhao <yong.zhao@amd.com>
+Date: Wed, 27 Apr 2016 18:10:16 -0400
+Subject: [PATCH 1416/4131] drm/amdkfd: BOs should be unpinned after
+ unmap_bo_from_gpuvm
+
+Change-Id: Iadff4cc3a3380d3de9f4fecdba7e52dfe9a92847
+Signed-off-by: Yong Zhao <yong.zhao@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+index c4ef8ab..db5faee 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+@@ -1122,13 +1122,7 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
+ pr_debug("unmapping BO with VA 0x%llx, size %lu bytes from GPU memory\n",
+ mem->data2.va,
+ mem->data2.bo->tbo.mem.size);
+- /* Unpin the PD directory*/
+- unpin_bo(entry->bo_va->vm->page_directory, true);
+- /* Unpin PTs */
+- unpin_pts(entry->bo_va, entry->bo_va->vm, true);
+
+- /* Unpin BO*/
+- unpin_bo(mem->data2.bo, true);
+ ret = unmap_bo_from_gpuvm(adev, entry->bo_va);
+ if (ret == 0) {
+ entry->is_mapped = false;
+@@ -1137,6 +1131,15 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
+ mem->data2.va);
+ goto out;
+ }
++
++ /* Unpin the PD directory*/
++ unpin_bo(entry->bo_va->vm->page_directory, true);
++ /* Unpin PTs */
++ unpin_pts(entry->bo_va, entry->bo_va->vm, true);
++
++ /* Unpin BO*/
++ unpin_bo(mem->data2.bo, true);
++
+ mem->data2.mapped_to_gpu_memory--;
+ pr_debug("amdgpu: DEC mapping count %d\n",
+ mem->data2.mapped_to_gpu_memory);
+--
+2.7.4
+