aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0495-drm-amdgpu-remove-entity-reference-from-sched-fence.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0495-drm-amdgpu-remove-entity-reference-from-sched-fence.patch')
-rw-r--r--common/recipes-kernel/linux/files/0495-drm-amdgpu-remove-entity-reference-from-sched-fence.patch144
1 files changed, 0 insertions, 144 deletions
diff --git a/common/recipes-kernel/linux/files/0495-drm-amdgpu-remove-entity-reference-from-sched-fence.patch b/common/recipes-kernel/linux/files/0495-drm-amdgpu-remove-entity-reference-from-sched-fence.patch
deleted file mode 100644
index 953de8b1..00000000
--- a/common/recipes-kernel/linux/files/0495-drm-amdgpu-remove-entity-reference-from-sched-fence.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From c14692f0a728a9d79fb03c7ce521eb07ec0e2b23 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
-Date: Fri, 21 Aug 2015 15:18:47 +0200
-Subject: [PATCH 0495/1050] drm/amdgpu: remove entity reference from sched
- fence
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Entity don't live as long as scheduler fences.
-
-Signed-off-by: Christian König <christian.koenig@amd.com>
-Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 4 ++--
- drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 9 ++-------
- drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 5 ++---
- drivers/gpu/drm/amd/scheduler/sched_fence.c | 4 ++--
- 4 files changed, 8 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
-index 26b1793..b925253 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
-@@ -146,7 +146,7 @@ static uint32_t amdgpu_sa_get_ring_from_fence(struct fence *f)
-
- s_fence = to_amd_sched_fence(f);
- if (s_fence)
-- return s_fence->entity->scheduler->ring_id;
-+ return s_fence->scheduler->ring_id;
- a_fence = to_amdgpu_fence(f);
- if (a_fence)
- return a_fence->ring->idx;
-@@ -437,7 +437,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
- if (s_fence)
- seq_printf(m, " protected by 0x%016x on ring %d",
- s_fence->base.seqno,
-- s_fence->entity->scheduler->ring_id);
-+ s_fence->scheduler->ring_id);
-
- }
- seq_printf(m, "\n");
-diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
-index 29c45ed..d747f82 100644
---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
-+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
-@@ -109,8 +109,6 @@ int amd_sched_entity_init(struct amd_gpu_scheduler *sched,
- struct amd_sched_rq *rq,
- uint32_t jobs)
- {
-- char name[20];
--
- if (!(sched && entity && rq))
- return -EINVAL;
-
-@@ -119,8 +117,6 @@ int amd_sched_entity_init(struct amd_gpu_scheduler *sched,
- entity->scheduler = sched;
- init_waitqueue_head(&entity->wait_queue);
- entity->fence_context = fence_context_alloc(1);
-- snprintf(name, sizeof(name), "c_entity[%llu]", entity->fence_context);
-- memcpy(entity->name, name, 20);
- if(kfifo_alloc(&entity->job_queue,
- jobs * sizeof(void *),
- GFP_KERNEL))
-@@ -347,7 +343,6 @@ struct amd_gpu_scheduler *amd_sched_create(struct amd_sched_backend_ops *ops,
- unsigned ring, unsigned hw_submission)
- {
- struct amd_gpu_scheduler *sched;
-- char name[20];
-
- sched = kzalloc(sizeof(struct amd_gpu_scheduler), GFP_KERNEL);
- if (!sched)
-@@ -356,14 +351,14 @@ struct amd_gpu_scheduler *amd_sched_create(struct amd_sched_backend_ops *ops,
- sched->ops = ops;
- sched->ring_id = ring;
- sched->hw_submission_limit = hw_submission;
-- snprintf(name, sizeof(name), "gpu_sched[%d]", ring);
-+ snprintf(sched->name, sizeof(sched->name), "amdgpu[%d]", ring);
- amd_sched_rq_init(&sched->sched_rq);
- amd_sched_rq_init(&sched->kernel_rq);
-
- init_waitqueue_head(&sched->wait_queue);
- atomic_set(&sched->hw_rq_count, 0);
- /* Each scheduler will run on a seperate kernel thread */
-- sched->thread = kthread_run(amd_sched_main, sched, name);
-+ sched->thread = kthread_run(amd_sched_main, sched, sched->name);
- if (IS_ERR(sched->thread)) {
- DRM_ERROR("Failed to create scheduler for id %d.\n", ring);
- kfree(sched);
-diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
-index 46b528d..62655f4 100644
---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
-+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
-@@ -48,7 +48,6 @@ struct amd_sched_entity {
- struct amd_gpu_scheduler *scheduler;
- wait_queue_head_t wait_queue;
- uint64_t fence_context;
-- char name[20];
- };
-
- /**
-@@ -64,8 +63,7 @@ struct amd_sched_rq {
-
- struct amd_sched_fence {
- struct fence base;
-- struct fence_cb cb;
-- struct amd_sched_entity *entity;
-+ struct amd_gpu_scheduler *scheduler;
- spinlock_t lock;
- };
-
-@@ -111,6 +109,7 @@ struct amd_gpu_scheduler {
- uint32_t ring_id;
- wait_queue_head_t wait_queue;
- uint32_t hw_submission_limit;
-+ char name[20];
- };
-
- struct amd_gpu_scheduler *
-diff --git a/drivers/gpu/drm/amd/scheduler/sched_fence.c b/drivers/gpu/drm/amd/scheduler/sched_fence.c
-index 266ed7b..7f0f578 100644
---- a/drivers/gpu/drm/amd/scheduler/sched_fence.c
-+++ b/drivers/gpu/drm/amd/scheduler/sched_fence.c
-@@ -36,7 +36,7 @@ struct amd_sched_fence *amd_sched_fence_create(struct amd_sched_entity *s_entity
- if (fence == NULL)
- return NULL;
-
-- fence->entity = s_entity;
-+ fence->scheduler = s_entity->scheduler;
- spin_lock_init(&fence->lock);
-
- seq = atomic_inc_return(&s_entity->fence_seq);
-@@ -63,7 +63,7 @@ static const char *amd_sched_fence_get_driver_name(struct fence *fence)
- static const char *amd_sched_fence_get_timeline_name(struct fence *f)
- {
- struct amd_sched_fence *fence = to_amd_sched_fence(f);
-- return (const char *)fence->entity->name;
-+ return (const char *)fence->scheduler->name;
- }
-
- static bool amd_sched_fence_enable_signaling(struct fence *f)
---
-1.9.1
-