diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1417-drm-amdgpu-Do-all-BO-and-page-table-pinning-inside-m.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1417-drm-amdgpu-Do-all-BO-and-page-table-pinning-inside-m.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1417-drm-amdgpu-Do-all-BO-and-page-table-pinning-inside-m.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1417-drm-amdgpu-Do-all-BO-and-page-table-pinning-inside-m.patch deleted file mode 100644 index 9b4516a5..00000000 --- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1417-drm-amdgpu-Do-all-BO-and-page-table-pinning-inside-m.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 5c2223bc2432d5e2e4b8e913420094982801830b Mon Sep 17 00:00:00 2001 -From: Yong Zhao <yong.zhao@amd.com> -Date: Wed, 27 Apr 2016 19:43:13 -0400 -Subject: [PATCH 1417/4131] drm/amdgpu: Do all BO and page table pinning inside - map_bo_to_gpuvm - -Change-Id: Id31a04ccce15a0a15704d6bcb62572a7fa871fdf -Signed-off-by: Yong Zhao <yong.zhao@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 40 +++++++++--------------- - 1 file changed, 15 insertions(+), 25 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c -index db5faee..896b9df 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c -@@ -623,11 +623,22 @@ static int update_user_pages(struct kgd_mem *mem, struct mm_struct *mm, - } - - static int map_bo_to_gpuvm(struct amdgpu_device *adev, struct amdgpu_bo *bo, -- struct amdgpu_bo_va *bo_va) -+ struct amdgpu_bo_va *bo_va, uint32_t domain) - { - struct amdgpu_vm *vm; - int ret; - -+ /* -+ * We need to pin the allocated BO, PD and appropriate PTs and to -+ * create a mapping of virtual to MC address -+ */ -+ /* Pin BO*/ -+ ret = try_pin_bo(bo, false, domain); -+ if (ret != 0) { -+ pr_err("amdkfd: Failed to pin BO\n"); -+ return ret; -+ } -+ - /* Pin PTs */ - ret = try_pin_pts(bo_va, false); - if (ret != 0) { -@@ -685,6 +696,7 @@ static int map_bo_to_gpuvm(struct amdgpu_device *adev, struct amdgpu_bo *bo, - err_failed_to_pin_pd: - unpin_pts(bo_va, vm, false); - err_failed_to_pin_pts: -+ unpin_bo(bo, false); - - return ret; - } -@@ -888,18 +900,8 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu( - - pr_debug("amdkfd: Trying to map VA 0x%llx to vm %p\n", - mem->data2.va, vm); -- /* -- * We need to pin the allocated BO, PD and appropriate PTs and to -- * create a mapping of virtual to MC address -- */ -- /* Pin BO*/ -- ret = try_pin_bo(bo, false, domain); -- if (ret != 0) { -- pr_err("amdkfd: Failed to pin BO\n"); -- goto pin_bo_failed; -- } - -- ret = map_bo_to_gpuvm(adev, bo, entry->bo_va); -+ ret = map_bo_to_gpuvm(adev, bo, entry->bo_va, domain); - if (ret != 0) { - pr_err("amdkfd: Failed to map radeon bo to gpuvm\n"); - goto map_bo_to_gpuvm_failed; -@@ -917,8 +919,6 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu( - return 0; - - map_bo_to_gpuvm_failed: -- unpin_bo(bo, false); --pin_bo_failed: - quiesce_failed: - update_user_pages_failed: - if (bo_va_entry_aql) -@@ -1543,20 +1543,10 @@ int amdgpu_amdkfd_gpuvm_restore_mem(struct kgd_mem *mem, struct mm_struct *mm) - goto resume_kfd; - } - -- r = try_pin_bo(mem->data2.bo, false, domain); -- if (unlikely(r != 0)) { -- pr_err("Failed to pin BO\n"); -- entry->is_mapped = false; -- if (ret == 0) -- ret = r; -- goto resume_kfd; -- } -- -- r = map_bo_to_gpuvm(adev, mem->data2.bo, entry->bo_va); -+ r = map_bo_to_gpuvm(adev, mem->data2.bo, entry->bo_va, domain); - if (unlikely(r != 0)) { - pr_err("Failed to map BO to gpuvm\n"); - entry->is_mapped = false; -- unpin_bo(mem->data2.bo, true); - if (ret == 0) - ret = r; - } --- -2.7.4 - |