diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0650-drm-amdgpu-use-common-fences-for-VMID-management-v2.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0650-drm-amdgpu-use-common-fences-for-VMID-management-v2.patch | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/common/recipes-kernel/linux/files/0650-drm-amdgpu-use-common-fences-for-VMID-management-v2.patch b/common/recipes-kernel/linux/files/0650-drm-amdgpu-use-common-fences-for-VMID-management-v2.patch deleted file mode 100644 index 21367b19..00000000 --- a/common/recipes-kernel/linux/files/0650-drm-amdgpu-use-common-fences-for-VMID-management-v2.patch +++ /dev/null @@ -1,166 +0,0 @@ -From d52832986aa52ea18940e817d5d04c081c2f42f3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Thu, 22 Oct 2015 11:55:58 +0200 -Subject: [PATCH 0650/1565] drm/amdgpu: use common fences for VMID management - v2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -v2: add missing NULL check. - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 4 ++-- - drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 27 +++++++++++++++------------ - drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 4 ++-- - drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 4 ++-- - 4 files changed, 21 insertions(+), 18 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index 6d9c929..371994c 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -970,7 +970,7 @@ struct amdgpu_vm_id { - /* last flushed PD/PT update */ - struct fence *flushed_updates; - /* last use of vmid */ -- struct amdgpu_fence *last_id_use; -+ struct fence *last_id_use; - }; - - struct amdgpu_vm { -@@ -1003,7 +1003,7 @@ struct amdgpu_vm { - }; - - struct amdgpu_vm_manager { -- struct amdgpu_fence *active[AMDGPU_NUM_VM]; -+ struct fence *active[AMDGPU_NUM_VM]; - uint32_t max_pfn; - /* number of VMIDs */ - unsigned nvm; -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -index 06e207f..a12c726 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c -@@ -135,7 +135,7 @@ struct amdgpu_bo_list_entry *amdgpu_vm_get_bos(struct amdgpu_device *adev, - int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, - struct amdgpu_sync *sync) - { -- struct amdgpu_fence *best[AMDGPU_MAX_RINGS] = {}; -+ struct fence *best[AMDGPU_MAX_RINGS] = {}; - struct amdgpu_vm_id *vm_id = &vm->ids[ring->idx]; - struct amdgpu_device *adev = ring->adev; - -@@ -154,7 +154,8 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, - - /* skip over VMID 0, since it is the system VM */ - for (i = 1; i < adev->vm_manager.nvm; ++i) { -- struct amdgpu_fence *fence = adev->vm_manager.active[i]; -+ struct fence *fence = adev->vm_manager.active[i]; -+ struct amdgpu_ring *fring; - - if (fence == NULL) { - /* found a free one */ -@@ -163,21 +164,23 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring, - return 0; - } - -- if (amdgpu_fence_is_earlier(fence, best[fence->ring->idx])) { -- best[fence->ring->idx] = fence; -- choices[fence->ring == ring ? 0 : 1] = i; -+ fring = amdgpu_ring_from_fence(fence); -+ if (best[fring->idx] == NULL || -+ fence_is_later(best[fring->idx], fence)) { -+ best[fring->idx] = fence; -+ choices[fring == ring ? 0 : 1] = i; - } - } - - for (i = 0; i < 2; ++i) { - if (choices[i]) { -- struct amdgpu_fence *fence; -+ struct fence *fence; - - fence = adev->vm_manager.active[choices[i]]; - vm_id->id = choices[i]; - - trace_amdgpu_vm_grab_id(choices[i], ring->idx); -- return amdgpu_sync_fence(ring->adev, sync, &fence->base); -+ return amdgpu_sync_fence(ring->adev, sync, fence); - } - } - -@@ -246,11 +249,11 @@ void amdgpu_vm_fence(struct amdgpu_device *adev, - unsigned ridx = fence->ring->idx; - unsigned vm_id = vm->ids[ridx].id; - -- amdgpu_fence_unref(&adev->vm_manager.active[vm_id]); -- adev->vm_manager.active[vm_id] = amdgpu_fence_ref(fence); -+ fence_put(adev->vm_manager.active[vm_id]); -+ adev->vm_manager.active[vm_id] = fence_get(&fence->base); - -- amdgpu_fence_unref(&vm->ids[ridx].last_id_use); -- vm->ids[ridx].last_id_use = amdgpu_fence_ref(fence); -+ fence_put(vm->ids[ridx].last_id_use); -+ vm->ids[ridx].last_id_use = fence_get(&fence->base); - } - - /** -@@ -1311,7 +1314,7 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm) - - for (i = 0; i < AMDGPU_MAX_RINGS; ++i) { - fence_put(vm->ids[i].flushed_updates); -- amdgpu_fence_unref(&vm->ids[i].last_id_use); -+ fence_put(vm->ids[i].last_id_use); - } - - mutex_destroy(&vm->mutex); -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -index 4883482..85bbcdc 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c -@@ -965,7 +965,7 @@ static int gmc_v7_0_sw_fini(void *handle) - - if (adev->vm_manager.enabled) { - for (i = 0; i < AMDGPU_NUM_VM; ++i) -- amdgpu_fence_unref(&adev->vm_manager.active[i]); -+ fence_put(adev->vm_manager.active[i]); - gmc_v7_0_vm_fini(adev); - adev->vm_manager.enabled = false; - } -@@ -1015,7 +1015,7 @@ static int gmc_v7_0_suspend(void *handle) - - if (adev->vm_manager.enabled) { - for (i = 0; i < AMDGPU_NUM_VM; ++i) -- amdgpu_fence_unref(&adev->vm_manager.active[i]); -+ fence_put(adev->vm_manager.active[i]); - gmc_v7_0_vm_fini(adev); - adev->vm_manager.enabled = false; - } -diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -index 72e977b..1bcc4e7 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c -@@ -984,7 +984,7 @@ static int gmc_v8_0_sw_fini(void *handle) - - if (adev->vm_manager.enabled) { - for (i = 0; i < AMDGPU_NUM_VM; ++i) -- amdgpu_fence_unref(&adev->vm_manager.active[i]); -+ fence_put(adev->vm_manager.active[i]); - gmc_v8_0_vm_fini(adev); - adev->vm_manager.enabled = false; - } -@@ -1036,7 +1036,7 @@ static int gmc_v8_0_suspend(void *handle) - - if (adev->vm_manager.enabled) { - for (i = 0; i < AMDGPU_NUM_VM; ++i) -- amdgpu_fence_unref(&adev->vm_manager.active[i]); -+ fence_put(adev->vm_manager.active[i]); - gmc_v8_0_vm_fini(adev); - adev->vm_manager.enabled = false; - } --- -1.9.1 - |