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, 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 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 { 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 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 @@ #include #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; }