aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-08-10 08:16:24 -0400
committerAlex Deucher <alexander.deucher@amd.com>2015-08-17 16:51:16 -0400
commit5b232c2a717684d0dffc27e50bf05e1fb72f9d6e (patch)
tree04272ed6345824be54840a057e4c7acc0f146940
parent05caae8515e12073f4a3beb048e0d289cbe687b7 (diff)
drm/amdgpu: remove scheduler fence list v2
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)
-rw-r--r--drivers/gpu/drm/amd/scheduler/gpu_scheduler.c1
-rw-r--r--drivers/gpu/drm/amd/scheduler/gpu_scheduler.h2
-rw-r--r--drivers/gpu/drm/amd/scheduler/sched_fence.c19
3 files changed, 1 insertions, 21 deletions
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c
index 90abefed86cc..39577f6c0241 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,
195 entity->fence_context = fence_context_alloc(1); 195 entity->fence_context = fence_context_alloc(1);
196 snprintf(name, sizeof(name), "c_entity[%llu]", entity->fence_context); 196 snprintf(name, sizeof(name), "c_entity[%llu]", entity->fence_context);
197 memcpy(entity->name, name, 20); 197 memcpy(entity->name, name, 20);
198 INIT_LIST_HEAD(&entity->fence_list);
199 if(kfifo_alloc(&entity->job_queue, 198 if(kfifo_alloc(&entity->job_queue,
200 jobs * sizeof(void *), 199 jobs * sizeof(void *),
201 GFP_KERNEL)) 200 GFP_KERNEL))
diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
index aa942033d4b3..5e35018ad7b8 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 {
53 wait_queue_head_t wait_emit; 53 wait_queue_head_t wait_emit;
54 bool is_pending; 54 bool is_pending;
55 uint64_t fence_context; 55 uint64_t fence_context;
56 struct list_head fence_list;
57 char name[20]; 56 char name[20];
58}; 57};
59 58
@@ -78,7 +77,6 @@ struct amd_run_queue {
78struct amd_sched_fence { 77struct amd_sched_fence {
79 struct fence base; 78 struct fence base;
80 struct fence_cb cb; 79 struct fence_cb cb;
81 struct list_head list;
82 struct amd_sched_entity *entity; 80 struct amd_sched_entity *entity;
83 uint64_t v_seq; 81 uint64_t v_seq;
84 spinlock_t lock; 82 spinlock_t lock;
diff --git a/drivers/gpu/drm/amd/scheduler/sched_fence.c b/drivers/gpu/drm/amd/scheduler/sched_fence.c
index 8ee77ed3a2cc..a4751598c0b4 100644
--- a/drivers/gpu/drm/amd/scheduler/sched_fence.c
+++ b/drivers/gpu/drm/amd/scheduler/sched_fence.c
@@ -27,16 +27,7 @@
27#include <drm/drmP.h> 27#include <drm/drmP.h>
28#include "gpu_scheduler.h" 28#include "gpu_scheduler.h"
29 29
30static void amd_sched_fence_wait_cb(struct fence *f, struct fence_cb *cb) 30struct amd_sched_fence *amd_sched_fence_create(struct amd_sched_entity *s_entity)
31{
32 struct amd_sched_fence *fence =
33 container_of(cb, struct amd_sched_fence, cb);
34 list_del_init(&fence->list);
35 fence_put(&fence->base);
36}
37
38struct amd_sched_fence *amd_sched_fence_create(
39 struct amd_sched_entity *s_entity)
40{ 31{
41 struct amd_sched_fence *fence = NULL; 32 struct amd_sched_fence *fence = NULL;
42 fence = kzalloc(sizeof(struct amd_sched_fence), GFP_KERNEL); 33 fence = kzalloc(sizeof(struct amd_sched_fence), GFP_KERNEL);
@@ -49,14 +40,6 @@ struct amd_sched_fence *amd_sched_fence_create(
49 &fence->lock, 40 &fence->lock,
50 s_entity->fence_context, 41 s_entity->fence_context,
51 fence->v_seq); 42 fence->v_seq);
52 fence_get(&fence->base);
53 list_add_tail(&fence->list, &s_entity->fence_list);
54 if (fence_add_callback(&fence->base,&fence->cb,
55 amd_sched_fence_wait_cb)) {
56 fence_put(&fence->base);
57 kfree(fence);
58 return NULL;
59 }
60 return fence; 43 return fence;
61} 44}
62 45