diff options
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0454-drm-amdgpu-remove-scheduler-fence-list-v2.patch')
-rw-r--r-- | meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0454-drm-amdgpu-remove-scheduler-fence-list-v2.patch | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0454-drm-amdgpu-remove-scheduler-fence-list-v2.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0454-drm-amdgpu-remove-scheduler-fence-list-v2.patch new file mode 100644 index 00000000..4a104d19 --- /dev/null +++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0454-drm-amdgpu-remove-scheduler-fence-list-v2.patch @@ -0,0 +1,92 @@ +From 5b232c2a717684d0dffc27e50bf05e1fb72f9d6e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Mon, 10 Aug 2015 14:16:24 +0200 +Subject: [PATCH 0454/1050] drm/amdgpu: remove scheduler fence list v2 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Unused and missing proper locking. + +v2: add locking comment to commit message. + +Signed-off-by: Christian König <christian.koenig@amd.com> +Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1) +--- + drivers/gpu/drm/amd/scheduler/gpu_scheduler.c | 1 - + drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 2 -- + drivers/gpu/drm/amd/scheduler/sched_fence.c | 19 +------------------ + 3 files changed, 1 insertion(+), 21 deletions(-) + +diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +index 90abefe..39577f6 100644 +--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c ++++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +@@ -195,7 +195,6 @@ int amd_sched_entity_init(struct amd_gpu_scheduler *sched, + entity->fence_context = fence_context_alloc(1); + snprintf(name, sizeof(name), "c_entity[%llu]", entity->fence_context); + memcpy(entity->name, name, 20); +- INIT_LIST_HEAD(&entity->fence_list); + if(kfifo_alloc(&entity->job_queue, + jobs * sizeof(void *), + GFP_KERNEL)) +diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h +index aa94203..5e35018 100644 +--- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h ++++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h +@@ -53,7 +53,6 @@ struct amd_sched_entity { + wait_queue_head_t wait_emit; + bool is_pending; + uint64_t fence_context; +- struct list_head fence_list; + char name[20]; + }; + +@@ -78,7 +77,6 @@ struct amd_run_queue { + struct amd_sched_fence { + struct fence base; + struct fence_cb cb; +- struct list_head list; + struct amd_sched_entity *entity; + uint64_t v_seq; + spinlock_t lock; +diff --git a/drivers/gpu/drm/amd/scheduler/sched_fence.c b/drivers/gpu/drm/amd/scheduler/sched_fence.c +index 8ee77ed..a475159 100644 +--- a/drivers/gpu/drm/amd/scheduler/sched_fence.c ++++ b/drivers/gpu/drm/amd/scheduler/sched_fence.c +@@ -27,16 +27,7 @@ + #include <drm/drmP.h> + #include "gpu_scheduler.h" + +-static void amd_sched_fence_wait_cb(struct fence *f, struct fence_cb *cb) +-{ +- struct amd_sched_fence *fence = +- container_of(cb, struct amd_sched_fence, cb); +- list_del_init(&fence->list); +- fence_put(&fence->base); +-} +- +-struct amd_sched_fence *amd_sched_fence_create( +- struct amd_sched_entity *s_entity) ++struct amd_sched_fence *amd_sched_fence_create(struct amd_sched_entity *s_entity) + { + struct amd_sched_fence *fence = NULL; + fence = kzalloc(sizeof(struct amd_sched_fence), GFP_KERNEL); +@@ -49,14 +40,6 @@ struct amd_sched_fence *amd_sched_fence_create( + &fence->lock, + s_entity->fence_context, + fence->v_seq); +- fence_get(&fence->base); +- list_add_tail(&fence->list, &s_entity->fence_list); +- if (fence_add_callback(&fence->base,&fence->cb, +- amd_sched_fence_wait_cb)) { +- fence_put(&fence->base); +- kfree(fence); +- return NULL; +- } + return fence; + } + +-- +1.9.1 + |