aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4145-drm-amdkfd-Fix-and-simplify-sync-object-handling-for.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4145-drm-amdkfd-Fix-and-simplify-sync-object-handling-for.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4145-drm-amdkfd-Fix-and-simplify-sync-object-handling-for.patch100
1 files changed, 0 insertions, 100 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4145-drm-amdkfd-Fix-and-simplify-sync-object-handling-for.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4145-drm-amdkfd-Fix-and-simplify-sync-object-handling-for.patch
deleted file mode 100644
index 8dc10249..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/4145-drm-amdkfd-Fix-and-simplify-sync-object-handling-for.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From fb9d4b3b795048b0b9793508f284c313410eafa8 Mon Sep 17 00:00:00 2001
-From: Felix Kuehling <Felix.Kuehling@amd.com>
-Date: Tue, 13 Mar 2018 16:05:59 -0400
-Subject: [PATCH 4145/5725] drm/amdkfd: Fix and simplify sync object handling
- for KFD
-
-The adev parameter in amdgpu_sync_fence and amdgpu_sync_resv is only
-needed for updating sync->last_vm_update. This breaks if different
-adevs ars passed to calls for the same sync object.
-
-Always pass NULL for calls from KFD because sync objects used for
-KFD don't belong to any particular device, and KFD doesn't need the
-sync->last_vm_update fence.
-
-This fixes kernel log warnings on multi-GPU systems after recent
-changes in amdgpu_amdkfd_gpuvm_restore_process_bos.
-
-Change-Id: I5739c5761f65bdd0e6dd749210960df1472be9df
-Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 28 +++++-------------------
- 1 file changed, 5 insertions(+), 23 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-index 769fdcf..9061f44 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-@@ -417,23 +417,6 @@ static int vm_validate_pt_pd_bos(struct amdgpu_vm *vm)
- return 0;
- }
-
--static int sync_vm_fence(struct amdgpu_device *adev, struct amdgpu_sync *sync,
-- struct dma_fence *f)
--{
-- int ret = amdgpu_sync_fence(adev, sync, f, false);
--
-- /* 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) {
-- dma_fence_put(sync->last_vm_update);
-- sync->last_vm_update = NULL;
-- }
--
-- return ret;
--}
--
- static int vm_update_pds(struct amdgpu_vm *vm, struct amdgpu_sync *sync)
- {
- struct amdgpu_bo *pd = vm->root.base.bo;
-@@ -444,7 +427,7 @@ static int vm_update_pds(struct amdgpu_vm *vm, struct amdgpu_sync *sync)
- if (ret)
- return ret;
-
-- return sync_vm_fence(adev, sync, vm->last_update);
-+ return amdgpu_sync_fence(NULL, sync, vm->last_update, false);
- }
-
- /* add_bo_to_vm - Add a BO to a VM
-@@ -850,7 +833,7 @@ static int unmap_bo_from_gpuvm(struct amdgpu_device *adev,
- /* Add the eviction fence back */
- amdgpu_bo_fence(pd, &vm->process_info->eviction_fence->base, true);
-
-- sync_vm_fence(adev, sync, bo_va->last_pt_update);
-+ amdgpu_sync_fence(NULL, sync, bo_va->last_pt_update, false);
-
- return 0;
- }
-@@ -875,7 +858,7 @@ static int update_gpuvm_pte(struct amdgpu_device *adev,
- return ret;
- }
-
-- return sync_vm_fence(adev, sync, bo_va->last_pt_update);
-+ return amdgpu_sync_fence(NULL, sync, bo_va->last_pt_update, false);
- }
-
- static int map_bo_to_gpuvm(struct amdgpu_device *adev,
-@@ -953,7 +936,7 @@ static int process_sync_pds_resv(struct amdkfd_process_info *process_info,
- vm_list_node) {
- struct amdgpu_bo *pd = peer_vm->root.base.bo;
-
-- ret = amdgpu_sync_resv(amdgpu_ttm_adev(pd->tbo.bdev),
-+ ret = amdgpu_sync_resv(NULL,
- sync, pd->tbo.resv,
- AMDGPU_FENCE_OWNER_UNDEFINED, false);
- if (ret)
-@@ -2329,8 +2312,7 @@ int amdgpu_amdkfd_gpuvm_restore_process_bos(void *info, struct dma_fence **ef)
- pr_debug("Memory eviction: Validate BOs failed. Try again\n");
- goto validate_map_fail;
- }
-- ret = amdgpu_sync_fence(amdgpu_ttm_adev(bo->tbo.bdev),
-- &sync_obj, bo->tbo.moving, false);
-+ ret = amdgpu_sync_fence(NULL, &sync_obj, bo->tbo.moving, false);
- if (ret) {
- pr_debug("Memory eviction: Sync BO fence failed. Try again\n");
- goto validate_map_fail;
---
-2.7.4
-