浏览代码

drm/amdgpu: drop a dummy wakeup scheduler

since the dependency job is also scheduled by the same
scheduler with the job depended on it, no need to
call wake up scheduler when the dep is scheduled.

Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Monk Liu 9 年之前
父节点
当前提交
777dbd458c
共有 1 个文件被更改,包括 9 次插入1 次删除
  1. 9 1
      drivers/gpu/drm/amd/scheduler/gpu_scheduler.c

+ 9 - 1
drivers/gpu/drm/amd/scheduler/gpu_scheduler.c

@@ -229,6 +229,14 @@ static void amd_sched_entity_wakeup(struct fence *f, struct fence_cb *cb)
 	amd_sched_wakeup(entity->sched);
 	amd_sched_wakeup(entity->sched);
 }
 }
 
 
+static void amd_sched_entity_clear_dep(struct fence *f, struct fence_cb *cb)
+{
+	struct amd_sched_entity *entity =
+		container_of(cb, struct amd_sched_entity, cb);
+	entity->dependency = NULL;
+	fence_put(f);
+}
+
 static bool amd_sched_entity_add_dependency_cb(struct amd_sched_entity *entity)
 static bool amd_sched_entity_add_dependency_cb(struct amd_sched_entity *entity)
 {
 {
 	struct amd_gpu_scheduler *sched = entity->sched;
 	struct amd_gpu_scheduler *sched = entity->sched;
@@ -251,7 +259,7 @@ static bool amd_sched_entity_add_dependency_cb(struct amd_sched_entity *entity)
 		}
 		}
 
 
 		/* Wait for fence to be scheduled */
 		/* Wait for fence to be scheduled */
-		entity->cb.func = amd_sched_entity_wakeup;
+		entity->cb.func = amd_sched_entity_clear_dep;
 		list_add_tail(&entity->cb.node, &s_fence->scheduled_cb);
 		list_add_tail(&entity->cb.node, &s_fence->scheduled_cb);
 		return true;
 		return true;
 	}
 	}