/linux-6.1.9/drivers/gpu/drm/scheduler/ |
D | sched_main.c | 174 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_job_done() local 175 struct drm_gpu_scheduler *sched = s_fence->sched; in drm_sched_job_done() 180 trace_drm_sched_process_job(s_fence); in drm_sched_job_done() 182 dma_fence_get(&s_fence->finished); in drm_sched_job_done() 183 drm_sched_fence_finished(s_fence); in drm_sched_job_done() 184 dma_fence_put(&s_fence->finished); in drm_sched_job_done() 212 struct drm_sched_fence *s_fence; in drm_sched_dependency_optimized() local 218 s_fence = to_drm_sched_fence(fence); in drm_sched_dependency_optimized() 219 if (s_fence && s_fence->sched == sched) in drm_sched_dependency_optimized() 419 if (s_job->s_fence->parent && in drm_sched_stop() [all …]
|
D | sched_entity.c | 197 drm_sched_fence_finished(job->s_fence); in drm_sched_entity_kill_jobs_work() 198 WARN_ON(job->s_fence->parent); in drm_sched_entity_kill_jobs_work() 235 struct drm_sched_fence *s_fence = job->s_fence; in drm_sched_entity_kill_jobs() local 243 drm_sched_fence_scheduled(s_fence); in drm_sched_entity_kill_jobs() 244 dma_fence_set_error(&s_fence->finished, -ESRCH); in drm_sched_entity_kill_jobs() 378 struct drm_sched_fence *s_fence; in drm_sched_entity_add_dependency_cb() local 391 s_fence = to_drm_sched_fence(fence); in drm_sched_entity_add_dependency_cb() 392 if (s_fence && s_fence->sched == sched && in drm_sched_entity_add_dependency_cb() 399 fence = dma_fence_get(&s_fence->scheduled); in drm_sched_entity_add_dependency_cb() 437 dma_fence_set_error(&sched_job->s_fence->finished, -ECANCELED); in drm_sched_entity_pop_job() [all …]
|
D | gpu_scheduler_trace.h | 50 __entry->fence = &sched_job->s_fence->finished;
|
/linux-6.1.9/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_job.c | 55 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout() 158 if (job->base.s_fence && job->base.s_fence->finished.ops) in amdgpu_job_free_resources() 159 f = &job->base.s_fence->finished; in amdgpu_job_free_resources() 188 struct dma_fence *fence = &leader->base.s_fence->scheduled; in amdgpu_job_set_gang_leader() 206 if (job->gang_submit != &job->base.s_fence->scheduled) in amdgpu_job_free() 229 *f = dma_fence_get(&job->base.s_fence->finished); in amdgpu_job_submit() 272 &job->base.s_fence->finished, in amdgpu_job_dependency() 292 finished = &job->base.s_fence->finished; in amdgpu_job_run() 334 struct drm_sched_fence *s_fence = s_job->s_fence; in amdgpu_job_stop_all_jobs_on_sched() local 336 dma_fence_signal(&s_fence->scheduled); in amdgpu_job_stop_all_jobs_on_sched() [all …]
|
D | amdgpu_sync.c | 68 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() 280 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in amdgpu_sync_peek_fence() local 288 if (ring && s_fence) { in amdgpu_sync_peek_fence() 292 if (s_fence->sched == &ring->sched) { in amdgpu_sync_peek_fence() [all …]
|
D | amdgpu_trace.h | 36 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;
|
D | amdgpu_ctx.c | 169 struct drm_sched_fence *s_fence; in amdgpu_ctx_fence_time() local 175 s_fence = to_drm_sched_fence(fence); in amdgpu_ctx_fence_time() 176 if (!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &s_fence->scheduled.flags)) in amdgpu_ctx_fence_time() 180 if (!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &s_fence->finished.flags)) in amdgpu_ctx_fence_time() 181 return ktime_sub(ktime_get(), s_fence->scheduled.timestamp); in amdgpu_ctx_fence_time() 183 return ktime_sub(s_fence->finished.timestamp, in amdgpu_ctx_fence_time() 184 s_fence->scheduled.timestamp); in amdgpu_ctx_fence_time()
|
D | amdgpu_ib.c | 151 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule() 152 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
|
D | amdgpu_cs.c | 428 struct drm_sched_fence *s_fence; in amdgpu_cs_p2_dependencies() local 431 s_fence = to_drm_sched_fence(fence); in amdgpu_cs_p2_dependencies() 432 fence = dma_fence_get(&s_fence->scheduled); in amdgpu_cs_p2_dependencies() 1253 fence = &p->jobs[i]->base.s_fence->scheduled; in amdgpu_cs_submit() 1285 p->fence = dma_fence_get(&leader->base.s_fence->finished); in amdgpu_cs_submit() 1294 &p->jobs[i]->base.s_fence->finished, in amdgpu_cs_submit()
|
D | amdgpu_device.c | 5119 if (!s_job->s_fence->parent) { in amdgpu_device_recheck_guilty_jobs() 5124 ret = dma_fence_wait_timeout(s_job->s_fence->parent, false, ring->sched.timeout); in amdgpu_device_recheck_guilty_jobs() 5140 dma_fence_put(s_job->s_fence->parent); in amdgpu_device_recheck_guilty_jobs() 5141 s_job->s_fence->parent = NULL; in amdgpu_device_recheck_guilty_jobs() 5172 dma_fence_get(&s_job->s_fence->finished); in amdgpu_device_recheck_guilty_jobs() 5173 dma_fence_signal(&s_job->s_fence->finished); in amdgpu_device_recheck_guilty_jobs() 5174 dma_fence_put(&s_job->s_fence->finished); in amdgpu_device_recheck_guilty_jobs()
|
D | amdgpu_debugfs.c | 1704 if (dma_fence_is_signaled(&s_job->s_fence->finished)) { in amdgpu_ib_preempt_mark_partial_job()
|
/linux-6.1.9/drivers/gpu/drm/lima/ |
D | lima_trace.h | 25 __entry->context = task->base.s_fence->finished.context; 26 __entry->seqno = task->base.s_fence->finished.seqno;
|
D | lima_sched.c | 173 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.1.9/drivers/gpu/drm/etnaviv/ |
D | etnaviv_sched.c | 25 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job() 111 submit->out_fence = dma_fence_get(&submit->sched_job.s_fence->finished); in etnaviv_sched_push_job()
|
/linux-6.1.9/drivers/gpu/drm/v3d/ |
D | v3d_sched.c | 83 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()
|
D | v3d_gem.c | 521 job->done_fence = dma_fence_get(&job->base.s_fence->finished); in v3d_push_job()
|
/linux-6.1.9/include/drm/ |
D | gpu_scheduler.h | 299 struct drm_sched_fence *s_fence; member
|
/linux-6.1.9/drivers/gpu/drm/panfrost/ |
D | panfrost_job.c | 289 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.1.9/drivers/gpu/drm/msm/ |
D | msm_gem_submit.c | 881 submit->user_fence = dma_fence_get(&submit->base.s_fence->finished); in msm_ioctl_gem_submit()
|