Lines Matching refs:sched_job
270 struct amd_sched_job *sched_job; in amd_sched_entity_pop_job() local
272 if (!kfifo_out_peek(&entity->job_queue, &sched_job, sizeof(sched_job))) in amd_sched_entity_pop_job()
275 while ((entity->dependency = sched->ops->dependency(sched_job))) in amd_sched_entity_pop_job()
279 return sched_job; in amd_sched_entity_pop_job()
289 static bool amd_sched_entity_in(struct amd_sched_job *sched_job) in amd_sched_entity_in() argument
291 struct amd_gpu_scheduler *sched = sched_job->sched; in amd_sched_entity_in()
292 struct amd_sched_entity *entity = sched_job->s_entity; in amd_sched_entity_in()
296 added = kfifo_in(&entity->job_queue, &sched_job, in amd_sched_entity_in()
297 sizeof(sched_job)) == sizeof(sched_job); in amd_sched_entity_in()
299 if (added && kfifo_len(&entity->job_queue) == sizeof(sched_job)) in amd_sched_entity_in()
318 void amd_sched_entity_push_job(struct amd_sched_job *sched_job) in amd_sched_entity_push_job() argument
320 struct amd_sched_entity *entity = sched_job->s_entity; in amd_sched_entity_push_job()
322 trace_amd_sched_job(sched_job); in amd_sched_entity_push_job()
324 amd_sched_entity_in(sched_job)); in amd_sched_entity_push_job()
418 struct amd_sched_job *sched_job; in amd_sched_main() local
429 sched_job = amd_sched_entity_pop_job(entity); in amd_sched_main()
430 if (!sched_job) in amd_sched_main()
433 s_fence = sched_job->s_fence; in amd_sched_main()
444 fence = sched->ops->run_job(sched_job); in amd_sched_main()
459 count = kfifo_out(&entity->job_queue, &sched_job, in amd_sched_main()
460 sizeof(sched_job)); in amd_sched_main()
461 WARN_ON(count != sizeof(sched_job)); in amd_sched_main()