Lines Matching refs:s_fence

267 	struct drm_sched_fence *s_fence = s_job->s_fence;  in drm_sched_job_done()  local
268 struct drm_gpu_scheduler *sched = s_fence->sched; in drm_sched_job_done()
273 trace_drm_sched_process_job(s_fence); in drm_sched_job_done()
275 dma_fence_get(&s_fence->finished); in drm_sched_job_done()
276 drm_sched_fence_finished(s_fence, result); in drm_sched_job_done()
277 dma_fence_put(&s_fence->finished); in drm_sched_job_done()
466 if (s_job->s_fence->parent && in drm_sched_stop()
467 dma_fence_remove_callback(s_job->s_fence->parent, in drm_sched_stop()
469 dma_fence_put(s_job->s_fence->parent); in drm_sched_stop()
470 s_job->s_fence->parent = NULL; in drm_sched_stop()
487 dma_fence_wait(&s_job->s_fence->finished, false); in drm_sched_stop()
530 struct dma_fence *fence = s_job->s_fence->parent; in drm_sched_start()
584 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_resubmit_jobs() local
588 guilty_context = s_job->s_fence->scheduled.context; in drm_sched_resubmit_jobs()
591 if (found_guilty && s_job->s_fence->scheduled.context == guilty_context) in drm_sched_resubmit_jobs()
592 dma_fence_set_error(&s_fence->finished, -ECANCELED); in drm_sched_resubmit_jobs()
598 dma_fence_set_error(&s_fence->finished, PTR_ERR(fence)); in drm_sched_resubmit_jobs()
600 s_job->s_fence->parent = NULL; in drm_sched_resubmit_jobs()
603 s_job->s_fence->parent = dma_fence_get(fence); in drm_sched_resubmit_jobs()
639 job->s_fence = drm_sched_fence_alloc(entity, owner); in drm_sched_job_init()
640 if (!job->s_fence) in drm_sched_job_init()
677 drm_sched_fence_init(job->s_fence, job->entity); in drm_sched_job_arm()
832 if (kref_read(&job->s_fence->finished.refcount)) { in drm_sched_job_cleanup()
834 dma_fence_put(&job->s_fence->finished); in drm_sched_job_cleanup()
837 drm_sched_fence_free(job->s_fence); in drm_sched_job_cleanup()
840 job->s_fence = NULL; in drm_sched_job_cleanup()
920 if (job && dma_fence_is_signaled(&job->s_fence->finished)) { in drm_sched_get_cleanup_job()
931 next->s_fence->scheduled.timestamp = in drm_sched_get_cleanup_job()
932 dma_fence_timestamp(&job->s_fence->finished); in drm_sched_get_cleanup_job()
1014 struct drm_sched_fence *s_fence; in drm_sched_main() local
1038 s_fence = sched_job->s_fence; in drm_sched_main()
1046 drm_sched_fence_scheduled(s_fence, fence); in drm_sched_main()
1195 if (bad->s_fence->scheduled.context == in drm_sched_increase_karma()