File tree Expand file tree Collapse file tree 1 file changed +9
-6
lines changed
drivers/gpu/drm/scheduler Expand file tree Collapse file tree 1 file changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -1178,21 +1178,24 @@ static void drm_sched_run_job_work(struct work_struct *w)
1178
1178
struct drm_sched_entity * entity ;
1179
1179
struct dma_fence * fence ;
1180
1180
struct drm_sched_fence * s_fence ;
1181
- struct drm_sched_job * sched_job = NULL ;
1181
+ struct drm_sched_job * sched_job ;
1182
1182
int r ;
1183
1183
1184
1184
if (READ_ONCE (sched -> pause_submit ))
1185
1185
return ;
1186
1186
1187
1187
/* Find entity with a ready job */
1188
- while (!sched_job && (entity = drm_sched_select_entity (sched ))) {
1189
- sched_job = drm_sched_entity_pop_job (entity );
1190
- if (!sched_job )
1191
- complete_all (& entity -> entity_idle );
1192
- }
1188
+ entity = drm_sched_select_entity (sched );
1193
1189
if (!entity )
1194
1190
return ; /* No more work */
1195
1191
1192
+ sched_job = drm_sched_entity_pop_job (entity );
1193
+ if (!sched_job ) {
1194
+ complete_all (& entity -> entity_idle );
1195
+ drm_sched_run_job_queue (sched );
1196
+ return ;
1197
+ }
1198
+
1196
1199
s_fence = sched_job -> s_fence ;
1197
1200
1198
1201
atomic_add (sched_job -> credits , & sched -> credit_count );
You can’t perform that action at this time.
0 commit comments