aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0650-drm-amdgpu-use-common-fences-for-VMID-management-v2.patch
diff options
context:
space:
mode:
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.patch166
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
-