diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0217-drm-amdgpu-Revert-kmap-PDs-PTs-in-amdgpu_vm_update_d.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0217-drm-amdgpu-Revert-kmap-PDs-PTs-in-amdgpu_vm_update_d.patch | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0217-drm-amdgpu-Revert-kmap-PDs-PTs-in-amdgpu_vm_update_d.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0217-drm-amdgpu-Revert-kmap-PDs-PTs-in-amdgpu_vm_update_d.patch new file mode 100644 index 00000000..4c3776ac --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0217-drm-amdgpu-Revert-kmap-PDs-PTs-in-amdgpu_vm_update_d.patch @@ -0,0 +1,56 @@ +From 4e112c3a9752785eaebc3414a152fda0735c07c1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Thu, 30 Aug 2018 09:45:07 +0200 +Subject: [PATCH 0217/2940] drm/amdgpu: Revert "kmap PDs/PTs in + amdgpu_vm_update_directories" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit a7f91061c60ad9cac2e6a03b642be6a4f88b3662. + +Felix pointed out that we need to have the BOs mapped even before +amdgpu_vm_update_directories is called. + +Change-Id: Ibb904d980e7f8e41d8f9e00064fa24f1c7b1a82c +Signed-off-by: Christian König <christian.koenig@amd.com> +Acked-by: Junwei Zhang <Jerry.Zhang@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +index 3d5e8933d555..d60af21fb255 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +@@ -343,7 +343,10 @@ int amdgpu_vm_validate_pt_bos(struct amdgpu_device *adev, struct amdgpu_vm *vm, + list_move(&bo_base->vm_status, &vm->moved); + spin_unlock(&vm->moved_lock); + } else { +- r = amdgpu_ttm_alloc_gart(&bo->tbo); ++ if (vm->use_cpu_for_update) ++ r = amdgpu_bo_kmap(bo, NULL); ++ else ++ r = amdgpu_ttm_alloc_gart(&bo->tbo); + if (r) + break; + list_move(&bo_base->vm_status, &vm->relocated); +@@ -1111,14 +1114,6 @@ int amdgpu_vm_update_directories(struct amdgpu_device *adev, + params.adev = adev; + + if (vm->use_cpu_for_update) { +- struct amdgpu_vm_bo_base *bo_base; +- +- list_for_each_entry(bo_base, &vm->relocated, vm_status) { +- r = amdgpu_bo_kmap(bo_base->bo, NULL); +- if (unlikely(r)) +- return r; +- } +- + r = amdgpu_vm_wait_pd(adev, vm, AMDGPU_FENCE_OWNER_VM); + if (unlikely(r)) + return r; +-- +2.17.1 + |