aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch
new file mode 100644
index 00000000..52933306
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch
@@ -0,0 +1,65 @@
+From 835780e49b08ac3266e75aacbfa490f4e9ad57c9 Mon Sep 17 00:00:00 2001
+From: Yong Zhao <yong.zhao@amd.com>
+Date: Mon, 3 Oct 2016 18:18:22 -0400
+Subject: [PATCH 1536/4131] drm/amdgpu: Fix a kernel warning regarding using
+ amdgpu_bo_gpu_offset()
+
+Change-Id: Ie7d0e9904923096ace51a118c4d04bee0219906a
+Signed-off-by: Yong Zhao <yong.zhao@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 25 +++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+index 637dece..969769d 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+@@ -1156,6 +1156,22 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
+ return ret;
+ }
+
++static u64 get_vm_pd_gpu_offset(void *vm)
++{
++ struct amdgpu_vm *avm = (struct amdgpu_vm *) vm;
++ u64 offset;
++
++ BUG_ON(avm == NULL);
++
++ amdgpu_bo_reserve(avm->page_directory, false);
++
++ offset = amdgpu_bo_gpu_offset(avm->page_directory);
++
++ amdgpu_bo_unreserve(avm->page_directory);
++
++ return offset;
++}
++
+ int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, void **vm,
+ void *master_vm)
+ {
+@@ -1209,7 +1225,7 @@ int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, void **vm,
+ pr_err("amdgpu: Failed to amdgpu_vm_clear_freed\n");
+
+ pr_debug("amdgpu: created process vm with address 0x%llx\n",
+- amdgpu_bo_gpu_offset(new_vm->base.page_directory));
++ get_vm_pd_gpu_offset(&new_vm->base));
+
+ return ret;
+
+@@ -1249,12 +1265,7 @@ void amdgpu_amdkfd_gpuvm_destroy_process_vm(struct kgd_dev *kgd, void *vm)
+
+ uint32_t amdgpu_amdkfd_gpuvm_get_process_page_dir(void *vm)
+ {
+- struct amdgpu_vm *avm = (struct amdgpu_vm *) vm;
+-
+- BUG_ON(avm == NULL);
+-
+- return amdgpu_bo_gpu_offset(avm->page_directory)
+- >> AMDGPU_GPU_PAGE_SHIFT;
++ return get_vm_pd_gpu_offset(vm) >> AMDGPU_GPU_PAGE_SHIFT;
+ }
+
+ int amdgpu_amdkfd_gpuvm_get_vm_fault_info(struct kgd_dev *kgd,
+--
+2.7.4
+