diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c index 981420ea1cb5fec7460688bf021a36347b69b0d6..599318d3df0d2044edcbfa07f5b5b616d48a1e8c 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.c @@ -149,11 +149,9 @@ int amd_sched_entity_init(struct amd_gpu_scheduler *sched, return -EINVAL; memset(entity, 0, sizeof(struct amd_sched_entity)); - spin_lock_init(&entity->lock); entity->belongto_rq = rq; entity->scheduler = sched; init_waitqueue_head(&entity->wait_queue); - init_waitqueue_head(&entity->wait_emit); entity->fence_context = fence_context_alloc(1); snprintf(name, sizeof(name), "c_entity[%llu]", entity->fence_context); memcpy(entity->name, name, 20); @@ -228,12 +226,9 @@ int amd_sched_entity_fini(struct amd_gpu_scheduler *sched, msecs_to_jiffies(AMD_GPU_WAIT_IDLE_TIMEOUT_IN_MS) ) ? 0 : -1; - if (r) { - if (entity->is_pending) - DRM_INFO("Entity %p is in waiting state during fini,\ - all pending ibs will be canceled.\n", - entity); - } + if (r) + DRM_INFO("Entity %p is in waiting state during fini\n", + entity); amd_sched_rq_remove_entity(rq, entity); kfifo_free(&entity->job_queue); diff --git a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h index 81c00daa23fb26ae78ab83d870f80848315e19a4..bbfcc3770393e4c156d1bae83ee4eba73ee2bd8b 100644 --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h @@ -41,15 +41,12 @@ struct amd_sched_rq; struct amd_sched_entity { struct list_head list; struct amd_sched_rq *belongto_rq; - spinlock_t lock; atomic_t fence_seq; /* the job_queue maintains the jobs submitted by clients */ struct kfifo job_queue; spinlock_t queue_lock; struct amd_gpu_scheduler *scheduler; wait_queue_head_t wait_queue; - wait_queue_head_t wait_emit; - bool is_pending; uint64_t fence_context; char name[20]; bool need_wakeup;