Home
last modified time | relevance | path

Searched refs:s_fence (Results 1 – 22 of 22) sorted by relevance

/linux-6.6.21/drivers/gpu/drm/scheduler/
Dsched_main.c267 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()
[all …]
Dsched_entity.c168 drm_sched_fence_finished(job->s_fence, -ESRCH); in drm_sched_entity_kill_jobs_work()
169 WARN_ON(job->s_fence->parent); in drm_sched_entity_kill_jobs_work()
185 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in drm_sched_entity_kill_jobs_cb() local
187 if (s_fence && f == &s_fence->scheduled) { in drm_sched_entity_kill_jobs_cb()
193 f = dma_fence_get_rcu(&s_fence->finished); in drm_sched_entity_kill_jobs_cb()
199 dma_fence_put(&s_fence->scheduled); in drm_sched_entity_kill_jobs_cb()
235 struct drm_sched_fence *s_fence = job->s_fence; in drm_sched_entity_kill() local
237 dma_fence_get(&s_fence->finished); in drm_sched_entity_kill()
242 prev = &s_fence->finished; in drm_sched_entity_kill()
389 struct drm_sched_fence *s_fence; in drm_sched_entity_add_dependency_cb() local
[all …]
Dsched_fence.c51 static void drm_sched_fence_set_parent(struct drm_sched_fence *s_fence, in drm_sched_fence_set_parent() argument
59 smp_store_release(&s_fence->parent, dma_fence_get(fence)); in drm_sched_fence_set_parent()
61 &s_fence->finished.flags)) in drm_sched_fence_set_parent()
62 dma_fence_set_deadline(fence, s_fence->deadline); in drm_sched_fence_set_parent()
Dgpu_scheduler_trace.h50 __entry->fence = &sched_job->s_fence->finished;
/linux-6.6.21/drivers/gpu/drm/amd/amdgpu/
Damdgpu_job.c55 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout()
68 dma_fence_set_error(&s_job->s_fence->finished, -ETIME); in amdgpu_job_timedout()
167 if (job->base.s_fence && job->base.s_fence->finished.ops) in amdgpu_job_free_resources()
168 f = &job->base.s_fence->finished; in amdgpu_job_free_resources()
196 struct dma_fence *fence = &leader->base.s_fence->scheduled; in amdgpu_job_set_gang_leader()
216 if (job->gang_submit != &job->base.s_fence->scheduled) in amdgpu_job_free()
230 f = dma_fence_get(&job->base.s_fence->finished); in amdgpu_job_submit()
280 dma_fence_set_error(&job->base.s_fence->finished, r); in amdgpu_job_prepare_job()
293 finished = &job->base.s_fence->finished; in amdgpu_job_run()
333 struct drm_sched_fence *s_fence = s_job->s_fence; in amdgpu_job_stop_all_jobs_on_sched() local
[all …]
Damdgpu_sync.c68 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in amdgpu_sync_same_dev() local
70 if (s_fence) { in amdgpu_sync_same_dev()
73 ring = container_of(s_fence->sched, struct amdgpu_ring, sched); in amdgpu_sync_same_dev()
89 struct drm_sched_fence *s_fence; in amdgpu_sync_get_owner() local
95 s_fence = to_drm_sched_fence(f); in amdgpu_sync_get_owner()
96 if (s_fence) in amdgpu_sync_get_owner()
97 return s_fence->owner; in amdgpu_sync_get_owner()
289 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in amdgpu_sync_peek_fence() local
295 if (ring && s_fence) { in amdgpu_sync_peek_fence()
299 if (s_fence->sched == &ring->sched) { in amdgpu_sync_peek_fence()
[all …]
Damdgpu_trace.h36 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished)
182 __entry->context = job->base.s_fence->finished.context;
183 __entry->seqno = job->base.s_fence->finished.seqno;
207 __entry->context = job->base.s_fence->finished.context;
208 __entry->seqno = job->base.s_fence->finished.seqno;
Damdgpu_ctx.c171 struct drm_sched_fence *s_fence; in amdgpu_ctx_fence_time() local
177 s_fence = to_drm_sched_fence(fence); in amdgpu_ctx_fence_time()
178 if (!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &s_fence->scheduled.flags)) in amdgpu_ctx_fence_time()
182 if (!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &s_fence->finished.flags)) in amdgpu_ctx_fence_time()
183 return ktime_sub(ktime_get(), s_fence->scheduled.timestamp); in amdgpu_ctx_fence_time()
185 return ktime_sub(s_fence->finished.timestamp, in amdgpu_ctx_fence_time()
186 s_fence->scheduled.timestamp); in amdgpu_ctx_fence_time()
Damdgpu_ids.c314 r = amdgpu_sync_fence(&(*id)->active, &job->base.s_fence->finished); in amdgpu_vmid_grab_reserved()
375 &job->base.s_fence->finished); in amdgpu_vmid_grab_used()
427 &job->base.s_fence->finished); in amdgpu_vmid_grab()
Damdgpu_cs.c418 struct drm_sched_fence *s_fence; in amdgpu_cs_p2_dependencies() local
421 s_fence = to_drm_sched_fence(fence); in amdgpu_cs_p2_dependencies()
422 fence = dma_fence_get(&s_fence->scheduled); in amdgpu_cs_p2_dependencies()
1210 struct drm_sched_fence *s_fence = to_drm_sched_fence(fence); in amdgpu_cs_sync_rings() local
1218 if (!s_fence || s_fence->sched != sched) { in amdgpu_cs_sync_rings()
1269 fence = &p->jobs[i]->base.s_fence->scheduled; in amdgpu_cs_submit()
1304 p->fence = dma_fence_get(&leader->base.s_fence->finished); in amdgpu_cs_submit()
1315 &p->jobs[i]->base.s_fence->finished, in amdgpu_cs_submit()
Damdgpu_ib.c153 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule()
154 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
Damdgpu_fence.c723 if (!job->base.s_fence && !dma_fence_is_signaled(old)) in amdgpu_fence_driver_clear_job_fences()
Damdgpu_debugfs.c1886 if (dma_fence_is_signaled(&s_job->s_fence->finished)) { in amdgpu_ib_preempt_mark_partial_job()
/linux-6.6.21/drivers/gpu/drm/lima/
Dlima_trace.h25 __entry->context = task->base.s_fence->finished.context;
26 __entry->seqno = task->base.s_fence->finished.seqno;
Dlima_sched.c173 struct dma_fence *fence = dma_fence_get(&task->base.s_fence->finished); in lima_sched_context_queue_task()
211 if (job->s_fence->finished.error < 0) in lima_sched_run_job()
/linux-6.6.21/drivers/gpu/drm/etnaviv/
Detnaviv_sched.c25 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job()
113 submit->out_fence = dma_fence_get(&submit->sched_job.s_fence->finished); in etnaviv_sched_push_job()
/linux-6.6.21/drivers/gpu/drm/v3d/
Dv3d_sched.c83 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_bin_job_run()
137 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_render_job_run()
Dv3d_gem.c469 job->done_fence = dma_fence_get(&job->base.s_fence->finished); in v3d_push_job()
/linux-6.6.21/include/drm/
Dgpu_scheduler.h340 struct drm_sched_fence *s_fence; member
/linux-6.6.21/drivers/gpu/drm/panfrost/
Dpanfrost_job.c289 job->render_done_fence = dma_fence_get(&job->base.s_fence->finished); in panfrost_job_push()
364 if (unlikely(job->base.s_fence->finished.error)) in panfrost_job_run()
/linux-6.6.21/drivers/gpu/drm/nouveau/
Dnouveau_sched.c291 job->done_fence = dma_fence_get(&job->base.s_fence->finished); in nouveau_job_submit()
/linux-6.6.21/drivers/gpu/drm/msm/
Dmsm_gem_submit.c932 submit->user_fence = dma_fence_get(&submit->base.s_fence->finished); in msm_ioctl_gem_submit()