/kernel/linux/linux-5.10/drivers/gpu/drm/scheduler/ |
H A D | sched_main.c | 177 struct drm_sched_fence *s_fence; in drm_sched_dependency_optimized() local 183 s_fence = to_drm_sched_fence(fence); in drm_sched_dependency_optimized() 184 if (s_fence && s_fence->sched == sched) in drm_sched_dependency_optimized() 348 if (bad->s_fence->scheduled.context == in drm_sched_increase_karma() 404 if (s_job->s_fence->parent && in drm_sched_stop() 405 dma_fence_remove_callback(s_job->s_fence->parent, in drm_sched_stop() 423 dma_fence_wait(&s_job->s_fence->finished, false); in drm_sched_stop() 466 struct dma_fence *fence = s_job->s_fence->parent; in drm_sched_start() 509 struct drm_sched_fence *s_fence in drm_sched_resubmit_jobs() local 648 struct drm_sched_fence *s_fence = s_job->s_fence; drm_sched_process_job() local 772 struct drm_sched_fence *s_fence; drm_sched_main() local [all...] |
H A D | sched_entity.c | 206 drm_sched_fence_finished(job->s_fence); in drm_sched_entity_kill_jobs_cb() 207 WARN_ON(job->s_fence->parent); in drm_sched_entity_kill_jobs_cb() 226 struct drm_sched_fence *s_fence = job->s_fence; in drm_sched_entity_kill_jobs() local 232 drm_sched_fence_scheduled(s_fence); in drm_sched_entity_kill_jobs() 233 dma_fence_set_error(&s_fence->finished, -ESRCH); in drm_sched_entity_kill_jobs() 370 struct drm_sched_fence *s_fence; in drm_sched_entity_add_dependency_cb() local 383 s_fence = to_drm_sched_fence(fence); in drm_sched_entity_add_dependency_cb() 384 if (s_fence && s_fence in drm_sched_entity_add_dependency_cb() [all...] |
H A D | gpu_scheduler_trace.h | 50 __entry->fence = &sched_job->s_fence->finished; 77 __entry->fence = &sched_job->s_fence->finished;
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_job.c | 55 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 in amdgpu_job_run() 333 struct drm_sched_fence *s_fence = s_job->s_fence; amdgpu_job_stop_all_jobs_on_sched() local 345 struct drm_sched_fence *s_fence = s_job->s_fence; amdgpu_job_stop_all_jobs_on_sched() local [all...] |
H A 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() 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 in amdgpu_sync_peek_fence() [all...] |
H A 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;
|
H A D | amdgpu_ctx.c | 171 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()
|
H A D | amdgpu_ids.c | 314 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()
|
H A D | amdgpu_ib.c | 153 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule() 154 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
|
H A D | amdgpu_cs.c | 418 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()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/scheduler/ |
H A D | sched_main.c | 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 in drm_sched_stop() 584 struct drm_sched_fence *s_fence = s_job->s_fence; drm_sched_resubmit_jobs() local 1014 struct drm_sched_fence *s_fence; drm_sched_main() local [all...] |
H A D | sched_entity.c | 168 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 in drm_sched_entity_kill() 389 struct drm_sched_fence *s_fence; drm_sched_entity_add_dependency_cb() local [all...] |
H A D | sched_fence.c | 51 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()
|
H A D | gpu_scheduler_trace.h | 50 __entry->fence = &sched_job->s_fence->finished;
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_sync.c | 66 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in amdgpu_sync_same_dev() local 68 if (s_fence) { in amdgpu_sync_same_dev() 71 ring = container_of(s_fence->sched, struct amdgpu_ring, sched); in amdgpu_sync_same_dev() 87 struct drm_sched_fence *s_fence; in amdgpu_sync_get_owner() local 93 s_fence = to_drm_sched_fence(f); in amdgpu_sync_get_owner() 94 if (s_fence) in amdgpu_sync_get_owner() 95 return s_fence->owner; in amdgpu_sync_get_owner() 296 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in amdgpu_sync_peek_fence() local 304 if (ring && s_fence) { in amdgpu_sync_peek_fence() 308 if (s_fence in amdgpu_sync_peek_fence() [all...] |
H A D | amdgpu_job.c | 41 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout() 118 f = job->base.s_fence ? &job->base.s_fence->finished : job->fence; in amdgpu_job_free_resources() 158 *f = dma_fence_get(&job->base.s_fence->finished); in amdgpu_job_submit() 198 &job->base.s_fence->finished, in amdgpu_job_dependency() 217 finished = &job->base.s_fence->finished; in amdgpu_job_run() 263 struct drm_sched_fence *s_fence = s_job->s_fence; in amdgpu_job_stop_all_jobs_on_sched() local 265 dma_fence_signal(&s_fence->scheduled); in amdgpu_job_stop_all_jobs_on_sched() 266 dma_fence_set_error(&s_fence in amdgpu_job_stop_all_jobs_on_sched() 275 struct drm_sched_fence *s_fence = s_job->s_fence; amdgpu_job_stop_all_jobs_on_sched() local [all...] |
H A D | amdgpu_trace.h | 36 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished) 180 __entry->context = job->base.s_fence->finished.context; 181 __entry->seqno = job->base.s_fence->finished.seqno; 205 __entry->context = job->base.s_fence->finished.context; 206 __entry->seqno = job->base.s_fence->finished.seqno;
|
H A D | amdgpu_ib.c | 149 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule() 150 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/lima/ |
H A D | lima_trace.h | 25 __entry->context = task->base.s_fence->finished.context; 26 __entry->seqno = task->base.s_fence->finished.seqno;
|
H A D | lima_sched.c | 180 struct dma_fence *fence = dma_fence_get(&task->base.s_fence->finished); in lima_sched_context_queue_task() 230 if (job->s_fence->finished.error < 0) in lima_sched_run_job()
|
/kernel/linux/linux-6.6/drivers/gpu/drm/lima/ |
H A D | lima_trace.h | 25 __entry->context = task->base.s_fence->finished.context; 26 __entry->seqno = task->base.s_fence->finished.seqno;
|
/kernel/linux/linux-6.6/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_sched.c | 25 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()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/etnaviv/ |
H A D | etnaviv_sched.c | 77 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job() 163 submit->out_fence = dma_fence_get(&submit->sched_job.s_fence->finished); in etnaviv_sched_push_job()
|
/kernel/linux/linux-5.10/include/drm/ |
H A D | gpu_scheduler.h | 175 * @s_fence: contains the fences for the scheduling of job. 184 * @cb: the callback for the parent fence in s_fence. 193 struct drm_sched_fence *s_fence; member
|
/kernel/linux/linux-5.10/drivers/gpu/drm/v3d/ |
H A D | v3d_sched.c | 96 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_bin_job_run() 148 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_render_job_run()
|