diff options
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/files/0024-drm-amdgpu-add-entity-only-when-first-job-come.patch')
-rw-r--r-- | meta-amdfalconx86/recipes-kernel/linux/files/0024-drm-amdgpu-add-entity-only-when-first-job-come.patch | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/files/0024-drm-amdgpu-add-entity-only-when-first-job-come.patch b/meta-amdfalconx86/recipes-kernel/linux/files/0024-drm-amdgpu-add-entity-only-when-first-job-come.patch deleted file mode 100644 index 659bbaf0..00000000 --- a/meta-amdfalconx86/recipes-kernel/linux/files/0024-drm-amdgpu-add-entity-only-when-first-job-come.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 090a50215bda6e62ddd9514d6f1ab0ba972b87bd Mon Sep 17 00:00:00 2001 -From: Chunming Zhou <David1.Zhou@amd.com> -Date: Fri, 11 Dec 2015 18:22:52 +0800 -Subject: [PATCH 0024/1110] drm/amdgpu: add entity only when first job come -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -umd somtimes will create a context for every ring, -that means some entities wouldn't be used at all. - -Signed-off-by: Chunming Zhou <David1.Zhou@amd.com> -Reviewed-by: Christian König <christian.koenig@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c -index 5ace1a7..8b2becd 100644 ---- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c -+++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c -@@ -47,6 +47,8 @@ static void amd_sched_rq_init(struct amd_sched_rq *rq) - static void amd_sched_rq_add_entity(struct amd_sched_rq *rq, - struct amd_sched_entity *entity) - { -+ if (!list_empty(&entity->list)) -+ return; - spin_lock(&rq->lock); - list_add_tail(&entity->list, &rq->entities); - spin_unlock(&rq->lock); -@@ -55,6 +57,8 @@ static void amd_sched_rq_add_entity(struct amd_sched_rq *rq, - static void amd_sched_rq_remove_entity(struct amd_sched_rq *rq, - struct amd_sched_entity *entity) - { -+ if (list_empty(&entity->list)) -+ return; - spin_lock(&rq->lock); - list_del_init(&entity->list); - if (rq->current_entity == entity) -@@ -138,9 +142,6 @@ int amd_sched_entity_init(struct amd_gpu_scheduler *sched, - atomic_set(&entity->fence_seq, 0); - entity->fence_context = fence_context_alloc(1); - -- /* Add the entity to the run queue */ -- amd_sched_rq_add_entity(rq, entity); -- - return 0; - } - -@@ -302,9 +303,11 @@ static bool amd_sched_entity_in(struct amd_sched_job *sched_job) - spin_unlock(&entity->queue_lock); - - /* first job wakes up scheduler */ -- if (first) -+ if (first) { -+ /* Add the entity to the run queue */ -+ amd_sched_rq_add_entity(entity->rq, entity); - amd_sched_wakeup(sched); -- -+ } - return added; - } - --- -2.7.4 - |