diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1536-drm-amdgpu-Fix-a-kernel-warning-regarding-using-amdg.patch b/common/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/common/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 + |