Lines Matching refs:job

145 	struct drm_sched_job *job = container_of(wrk, typeof(*job), work);  in drm_sched_entity_kill_jobs_work()  local
147 drm_sched_fence_finished(job->s_fence); in drm_sched_entity_kill_jobs_work()
148 WARN_ON(job->s_fence->parent); in drm_sched_entity_kill_jobs_work()
149 job->sched->ops->free_job(job); in drm_sched_entity_kill_jobs_work()
156 struct drm_sched_job *job = container_of(cb, struct drm_sched_job, in drm_sched_entity_kill_jobs_cb() local
163 while (!xa_empty(&job->dependencies)) { in drm_sched_entity_kill_jobs_cb()
164 f = xa_erase(&job->dependencies, job->last_dependency++); in drm_sched_entity_kill_jobs_cb()
165 r = dma_fence_add_callback(f, &job->finish_cb, in drm_sched_entity_kill_jobs_cb()
173 INIT_WORK(&job->work, drm_sched_entity_kill_jobs_work); in drm_sched_entity_kill_jobs_cb()
174 schedule_work(&job->work); in drm_sched_entity_kill_jobs_cb()
180 struct drm_sched_job *job; in drm_sched_entity_kill() local
195 while ((job = to_drm_sched_job(spsc_queue_pop(&entity->job_queue)))) { in drm_sched_entity_kill()
196 struct drm_sched_fence *s_fence = job->s_fence; in drm_sched_entity_kill()
201 if (!prev || dma_fence_add_callback(prev, &job->finish_cb, in drm_sched_entity_kill()
203 drm_sched_entity_kill_jobs_cb(NULL, &job->finish_cb); in drm_sched_entity_kill()
394 drm_sched_job_dependency(struct drm_sched_job *job, in drm_sched_job_dependency() argument
397 if (!xa_empty(&job->dependencies)) in drm_sched_job_dependency()
398 return xa_erase(&job->dependencies, job->last_dependency++); in drm_sched_job_dependency()
400 if (job->sched->ops->prepare_job) in drm_sched_job_dependency()
401 return job->sched->ops->prepare_job(job, entity); in drm_sched_job_dependency()