Lines Matching refs:s_fence
172 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_job_done() local
173 struct drm_gpu_scheduler *sched = s_fence->sched; in drm_sched_job_done()
178 trace_drm_sched_process_job(s_fence); in drm_sched_job_done()
180 dma_fence_get(&s_fence->finished); in drm_sched_job_done()
181 drm_sched_fence_finished(s_fence); in drm_sched_job_done()
182 dma_fence_put(&s_fence->finished); in drm_sched_job_done()
210 struct drm_sched_fence *s_fence; in drm_sched_dependency_optimized() local
216 s_fence = to_drm_sched_fence(fence); in drm_sched_dependency_optimized()
217 if (s_fence && s_fence->sched == sched) in drm_sched_dependency_optimized()
417 if (s_job->s_fence->parent && in drm_sched_stop()
418 dma_fence_remove_callback(s_job->s_fence->parent, in drm_sched_stop()
436 dma_fence_wait(&s_job->s_fence->finished, false); in drm_sched_stop()
479 struct dma_fence *fence = s_job->s_fence->parent; in drm_sched_start()
536 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_resubmit_jobs_ext() local
543 guilty_context = s_job->s_fence->scheduled.context; in drm_sched_resubmit_jobs_ext()
546 if (found_guilty && s_job->s_fence->scheduled.context == guilty_context) in drm_sched_resubmit_jobs_ext()
547 dma_fence_set_error(&s_fence->finished, -ECANCELED); in drm_sched_resubmit_jobs_ext()
549 dma_fence_put(s_job->s_fence->parent); in drm_sched_resubmit_jobs_ext()
555 dma_fence_set_error(&s_fence->finished, PTR_ERR(fence)); in drm_sched_resubmit_jobs_ext()
557 s_job->s_fence->parent = NULL; in drm_sched_resubmit_jobs_ext()
559 s_job->s_fence->parent = fence; in drm_sched_resubmit_jobs_ext()
592 job->s_fence = drm_sched_fence_create(entity, owner); in drm_sched_job_init()
593 if (!job->s_fence) in drm_sched_job_init()
610 dma_fence_put(&job->s_fence->finished); in drm_sched_job_cleanup()
611 job->s_fence = NULL; in drm_sched_job_cleanup()
693 if (job && dma_fence_is_signaled(&job->s_fence->finished)) { in drm_sched_get_cleanup_job()
700 next->s_fence->scheduled.timestamp = in drm_sched_get_cleanup_job()
701 dma_fence_timestamp(&job->s_fence->finished); in drm_sched_get_cleanup_job()
782 struct drm_sched_fence *s_fence; in drm_sched_main() local
809 s_fence = sched_job->s_fence; in drm_sched_main()
817 drm_sched_fence_scheduled(s_fence); in drm_sched_main()
820 s_fence->parent = dma_fence_get(fence); in drm_sched_main()
831 dma_fence_set_error(&s_fence->finished, PTR_ERR(fence)); in drm_sched_main()
969 if (bad->s_fence->scheduled.context == in drm_sched_increase_karma_ext()