diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0649-drm-amdgpu-move-ring_from_fence-to-common-code.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0649-drm-amdgpu-move-ring_from_fence-to-common-code.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/common/recipes-kernel/linux/files/0649-drm-amdgpu-move-ring_from_fence-to-common-code.patch b/common/recipes-kernel/linux/files/0649-drm-amdgpu-move-ring_from_fence-to-common-code.patch deleted file mode 100644 index 047d4394..00000000 --- a/common/recipes-kernel/linux/files/0649-drm-amdgpu-move-ring_from_fence-to-common-code.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 8120b61fdf3d3aa31d6b7e4a4f633bec1d2edd38 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:29:33 +0200 -Subject: [PATCH 0649/1565] drm/amdgpu: move ring_from_fence to common code -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Going to need that elsewhere as well. - -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 | 1 + - drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c | 24 ++++++++++++++++++++++++ - drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 23 ++--------------------- - 3 files changed, 27 insertions(+), 21 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index dd7d2ce..6d9c929 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -1231,6 +1231,7 @@ int amdgpu_ring_init(struct amdgpu_device *adev, struct amdgpu_ring *ring, - struct amdgpu_irq_src *irq_src, unsigned irq_type, - enum amdgpu_ring_type ring_type); - void amdgpu_ring_fini(struct amdgpu_ring *ring); -+struct amdgpu_ring *amdgpu_ring_from_fence(struct fence *f); - - /* - * CS. -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c -index b2df348..78e9b0f 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.c -@@ -436,6 +436,30 @@ void amdgpu_ring_fini(struct amdgpu_ring *ring) - } - } - -+/** -+ * amdgpu_ring_from_fence - get ring from fence -+ * -+ * @f: fence structure -+ * -+ * Extract the ring a fence belongs to. Handles both scheduler as -+ * well as hardware fences. -+ */ -+struct amdgpu_ring *amdgpu_ring_from_fence(struct fence *f) -+{ -+ struct amdgpu_fence *a_fence; -+ struct amd_sched_fence *s_fence; -+ -+ s_fence = to_amd_sched_fence(f); -+ if (s_fence) -+ return container_of(s_fence->sched, struct amdgpu_ring, sched); -+ -+ a_fence = to_amdgpu_fence(f); -+ if (a_fence) -+ return a_fence->ring; -+ -+ return NULL; -+} -+ - /* - * Debugfs info - */ -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c -index 3f48759..0212b31 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c -@@ -139,25 +139,6 @@ int amdgpu_sa_bo_manager_suspend(struct amdgpu_device *adev, - return r; - } - --static uint32_t amdgpu_sa_get_ring_from_fence(struct fence *f) --{ -- struct amdgpu_fence *a_fence; -- struct amd_sched_fence *s_fence; -- -- s_fence = to_amd_sched_fence(f); -- if (s_fence) { -- struct amdgpu_ring *ring; -- -- ring = container_of(s_fence->sched, struct amdgpu_ring, sched); -- return ring->idx; -- } -- -- a_fence = to_amdgpu_fence(f); -- if (a_fence) -- return a_fence->ring->idx; -- return 0; --} -- - static void amdgpu_sa_bo_remove_locked(struct amdgpu_sa_bo *sa_bo) - { - struct amdgpu_sa_manager *sa_manager = sa_bo->manager; -@@ -318,7 +299,7 @@ static bool amdgpu_sa_bo_next_hole(struct amdgpu_sa_manager *sa_manager, - } - - if (best_bo) { -- uint32_t idx = amdgpu_sa_get_ring_from_fence(best_bo->fence); -+ uint32_t idx = amdgpu_ring_from_fence(best_bo->fence)->idx; - ++tries[idx]; - sa_manager->hole = best_bo->olist.prev; - -@@ -412,7 +393,7 @@ void amdgpu_sa_bo_free(struct amdgpu_device *adev, struct amdgpu_sa_bo **sa_bo, - if (fence && !fence_is_signaled(fence)) { - uint32_t idx; - (*sa_bo)->fence = fence_get(fence); -- idx = amdgpu_sa_get_ring_from_fence(fence); -+ idx = amdgpu_ring_from_fence(fence)->idx; - list_add_tail(&(*sa_bo)->flist, &sa_manager->flist[idx]); - } else { - amdgpu_sa_bo_remove_locked(*sa_bo); --- -1.9.1 - |