drm/amdgpu: remove scheduler fence list v2
authorChristian König <christian.koenig@amd.com>
Mon, 10 Aug 2015 12:16:24 +0000 (14:16 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 17 Aug 2015 20:51:16 +0000 (16:51 -0400)
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
drivers/gpu/drm/amd/scheduler/gpu_scheduler.h
drivers/gpu/drm/amd/scheduler/sched_fence.c

index 90abefe..39577f6 100644 (file)
@@ -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))
index aa94203..5e35018 100644 (file)
@@ -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;
index 8ee77ed..a475159 100644 (file)
 #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;
 }