aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1590-drm-amdgpu-Drop-last_vm_update-fence-after-KFD-VM-up.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1590-drm-amdgpu-Drop-last_vm_update-fence-after-KFD-VM-up.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1590-drm-amdgpu-Drop-last_vm_update-fence-after-KFD-VM-up.patch64
1 files changed, 0 insertions, 64 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1590-drm-amdgpu-Drop-last_vm_update-fence-after-KFD-VM-up.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1590-drm-amdgpu-Drop-last_vm_update-fence-after-KFD-VM-up.patch
deleted file mode 100644
index 83d39922..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1590-drm-amdgpu-Drop-last_vm_update-fence-after-KFD-VM-up.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From fe3221262c2a338f21c942c1899437e15838dbf5 Mon Sep 17 00:00:00 2001
-From: Felix Kuehling <Felix.Kuehling@amd.com>
-Date: Tue, 14 Feb 2017 19:11:57 -0500
-Subject: [PATCH 1590/4131] drm/amdgpu: Drop last_vm_update fence after KFD VM
- updates
-
-KFD can use one sync object while updating multiple GPUs' page tables
-at once during evictions. This violates an assumption that the
-sync->last_vm_update fence is always updated with fences from the
-same context (using amdgpu_sync_keep_later), resulting in lots of
-WARNs in the kernel log.
-
-KFD doesn't need this fence. It seems to be used only for selecting
-VMs for the graphics drivers. So we just drop that fence after KFD
-page table updates to avoid context mismatches in later page table
-updates using the same sync object.
-
-Bug: SWDEV-113250
-
-Change-Id: Id36664d26bd6e981d8d4776409e5c6ff8fabd769
-Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-index e1bea18..c27abc7 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-@@ -893,6 +893,15 @@ static int unmap_bo_from_gpuvm(struct amdgpu_device *adev,
-
- amdgpu_sync_fence(adev, sync, bo_va->last_pt_update);
-
-+ /* Sync objects can't handle multiple GPUs (contexts) updating
-+ * sync->last_vm_update. Fortunately we don't need it for
-+ * KFD's purposes, so we can just drop that fence.
-+ */
-+ if (sync->last_vm_update) {
-+ fence_put(sync->last_vm_update);
-+ sync->last_vm_update = NULL;
-+ }
-+
- return 0;
- }
-
-@@ -930,6 +939,15 @@ static int update_gpuvm_pte(struct amdgpu_device *adev,
- /* Remove PTs from LRU list (reservation removed PD only) */
- amdgpu_vm_move_pt_bos_in_lru(adev, vm);
-
-+ /* Sync objects can't handle multiple GPUs (contexts) updating
-+ * sync->last_vm_update. Fortunately we don't need it for
-+ * KFD's purposes, so we can just drop that fence.
-+ */
-+ if (sync->last_vm_update) {
-+ fence_put(sync->last_vm_update);
-+ sync->last_vm_update = NULL;
-+ }
-+
- return 0;
- }
-
---
-2.7.4
-