| /linux/drivers/gpu/drm/scheduler/ |
| H A D | sched_main.c | 370 struct drm_sched_fence *s_fence = s_job->s_fence; in drm_sched_job_done() local 371 struct drm_gpu_scheduler *sched = s_fence->sched; in drm_sched_job_done() 376 trace_drm_sched_job_done(s_fence); in drm_sched_job_done() 378 dma_fence_get(&s_fence->finished); in drm_sched_job_done() 379 drm_sched_fence_finished(s_fence, result); in drm_sched_job_done() 380 dma_fence_put(&s_fence->finished); in drm_sched_job_done() 629 if (s_job->s_fence->parent && in drm_sched_stop() 630 dma_fence_remove_callback(s_job->s_fence->parent, in drm_sched_stop() 632 dma_fence_put(s_job->s_fence->parent); in drm_sched_stop() 633 s_job->s_fence->parent = NULL; in drm_sched_stop() [all …]
|
| H A D | sched_entity.c | 187 struct drm_sched_fence *s_fence = to_drm_sched_fence(f); in drm_sched_entity_kill_jobs_work() local 189 if (s_fence && f == &s_fence->scheduled) { in drm_sched_entity_kill_jobs_work() 195 f = dma_fence_get_rcu(&s_fence->finished); in drm_sched_entity_kill_jobs_work() 201 dma_fence_put(&s_fence->scheduled); in drm_sched_entity_kill_jobs_work() 212 drm_sched_fence_scheduled(job->s_fence, NULL); in drm_sched_entity_kill_jobs_work() 213 drm_sched_fence_finished(job->s_fence, -ESRCH); in drm_sched_entity_kill_jobs_work() 214 WARN_ON(job->s_fence->parent); in drm_sched_entity_kill_jobs_work() 252 struct drm_sched_fence *s_fence = job->s_fence; in drm_sched_entity_kill() local 254 dma_fence_get(&s_fence->finished); in drm_sched_entity_kill() 266 prev = &s_fence->finished; in drm_sched_entity_kill() [all …]
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_job.c | 117 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout() 157 if (dma_fence_get_status(&s_job->s_fence->finished) == 0) in amdgpu_job_timedout() 158 dma_fence_set_error(&s_job->s_fence->finished, -ETIME); in amdgpu_job_timedout() 292 if (job->base.s_fence && job->base.s_fence->finished.ops) in amdgpu_job_free_resources() 293 f = &job->base.s_fence->finished; in amdgpu_job_free_resources() 326 struct dma_fence *fence = &leader->base.s_fence->scheduled; in amdgpu_job_set_gang_leader() 346 if (job->gang_submit != &job->base.s_fence->scheduled) in amdgpu_job_free() 366 f = dma_fence_get(&job->base.s_fence->finished); in amdgpu_job_submit() 423 dma_fence_set_error(&job->base.s_fence->finished, r); in amdgpu_job_prepare_job() 436 finished = &job->base.s_fence->finished; in amdgpu_job_run() [all …]
|
| H A D | amdgpu_ctx.c | 172 struct drm_sched_fence *s_fence; in amdgpu_ctx_fence_time() local 178 s_fence = to_drm_sched_fence(fence); in amdgpu_ctx_fence_time() 179 if (!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &s_fence->scheduled.flags)) in amdgpu_ctx_fence_time() 183 if (!test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT, &s_fence->finished.flags)) in amdgpu_ctx_fence_time() 184 return ktime_sub(ktime_get(), s_fence->scheduled.timestamp); in amdgpu_ctx_fence_time() 186 return ktime_sub(s_fence->finished.timestamp, in amdgpu_ctx_fence_time() 187 s_fence->scheduled.timestamp); in amdgpu_ctx_fence_time()
|
| H A D | amdgpu_cs.c | 439 struct drm_sched_fence *s_fence; in amdgpu_cs_p2_dependencies() local 442 s_fence = to_drm_sched_fence(fence); in amdgpu_cs_p2_dependencies() 443 fence = dma_fence_get(&s_fence->scheduled); in amdgpu_cs_p2_dependencies() 1244 struct drm_sched_fence *s_fence = to_drm_sched_fence(fence); in amdgpu_cs_sync_rings() local 1252 if (!s_fence || s_fence->sched != sched) { in amdgpu_cs_sync_rings() 1304 fence = &p->jobs[i]->base.s_fence->scheduled; in amdgpu_cs_submit() 1339 p->fence = dma_fence_get(&leader->base.s_fence->finished); in amdgpu_cs_submit() 1350 &p->jobs[i]->base.s_fence->finished, in amdgpu_cs_submit()
|
| H A D | amdgpu_ids.c | 291 r = amdgpu_sync_fence(&(*id)->active, &job->base.s_fence->finished, in amdgpu_vmid_grab_reserved() 351 &job->base.s_fence->finished, in amdgpu_vmid_grab_used() 404 &job->base.s_fence->finished, in amdgpu_vmid_grab()
|
| H A D | amdgpu_ib.c | 151 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule() 152 job->base.s_fence->finished.context : 0; in amdgpu_ib_schedule()
|
| H A D | amdgpu_vm.c | 810 ring->funcs->emit_cleaner_shader && job->base.s_fence && in amdgpu_vm_flush() 811 &job->base.s_fence->scheduled == isolation->spearhead; in amdgpu_vm_flush()
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_tlb_inval_job.c | 277 dma_fence_get(&job->dep.drm.s_fence->finished); in xe_tlb_inval_job_push() 282 &job->dep.drm.s_fence->finished, in xe_tlb_inval_job_push() 293 return &job->dep.drm.s_fence->finished; in xe_tlb_inval_job_push()
|
| H A D | xe_exec.c | 325 drm_gpuvm_resv_add_fence(&vm->gpuvm, exec, &job->drm.s_fence->finished, in xe_exec_ioctl() 330 xe_sync_entry_signal(&syncs[i], &job->drm.s_fence->finished); in xe_exec_ioctl() 335 xe_exec_queue_last_fence_set(q, vm, &job->drm.s_fence->finished); in xe_exec_ioctl()
|
| H A D | xe_migrate.c | 1014 fence = dma_fence_get(&job->drm.s_fence->finished); in xe_migrate_copy() 1375 fence = dma_fence_get(&job->drm.s_fence->finished); in xe_migrate_vram_copy_chunk() 1613 fence = dma_fence_get(&job->drm.s_fence->finished); in xe_migrate_clear() 1932 fence = dma_fence_get(&job->drm.s_fence->finished); in __xe_migrate_update_pgtables() 2218 fence = dma_fence_get(&job->drm.s_fence->finished); in xe_migrate_vram()
|
| H A D | xe_gt.c | 185 fence = dma_fence_get(&job->drm.s_fence->finished); in emit_job_sync()
|
| /linux/include/trace/events/ |
| H A D | amdxdna.h | 45 __entry->fence_context = sched_job->s_fence->finished.context; 46 __entry->fence_seqno = sched_job->s_fence->finished.seqno;
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | etnaviv_sched.c | 26 if (likely(!sched_job->s_fence->finished.error)) in etnaviv_sched_run_job() 121 submit->out_fence = dma_fence_get(&submit->sched_job.s_fence->finished); in etnaviv_sched_push_job()
|
| /linux/drivers/gpu/drm/imagination/ |
| H A D | pvr_queue.c | 487 if (f == &job->base.s_fence->scheduled) in pvr_queue_get_paired_frag_job_dep() 635 &job->paired_job->base.s_fence->scheduled == fence) in pvr_queue_submit_job_to_cccb() 785 WARN_ON(job->base.s_fence->parent); in pvr_queue_start() 786 job->base.s_fence->parent = dma_fence_get(job->done_fence); in pvr_queue_start() 837 job->base.s_fence->parent = dma_fence_get(job->done_fence); in pvr_queue_timedout_job() 1135 return &job->base.s_fence->finished; in pvr_queue_job_arm() 1150 if (job->base.s_fence) in pvr_queue_job_cleanup() 1170 queue->last_queued_job_scheduled_fence = dma_fence_get(&job->base.s_fence->scheduled); in pvr_queue_job_push()
|
| H A D | pvr_sync.c | 231 struct drm_sched_fence *s_fence = to_drm_sched_fence(uf); in pvr_sync_add_dep_to_job() local 237 dma_fence_get(&s_fence->scheduled)); in pvr_sync_add_dep_to_job()
|
| H A D | pvr_job.c | 586 dma_resv_add_fence(obj->resv, &job->base.s_fence->finished, usage); in update_job_resvs() 612 &geom_job->base.s_fence->scheduled); in can_combine_jobs() 627 return dma_fence_get(&job->base.s_fence->scheduled); in get_last_queued_job_scheduled_fence()
|
| /linux/drivers/accel/ethosu/ |
| H A D | ethosu_job.c | 135 job->inference_done_fence = dma_fence_get(&job->base.s_fence->finished); in ethosu_job_push() 190 if (unlikely(job->base.s_fence->finished.error)) in ethosu_job_run()
|
| /linux/drivers/accel/rocket/ |
| H A D | rocket_job.c | 205 job->inference_done_fence = dma_fence_get(&job->base.s_fence->finished); in rocket_job_push() 295 if (unlikely(job->base.s_fence->finished.error)) in rocket_job_run()
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_gem_submit.c | 97 if (submit->base.s_fence) in __msm_gem_submit_destroy() 742 submit->user_fence = dma_fence_get(&submit->base.s_fence->finished); in msm_ioctl_gem_submit()
|
| /linux/drivers/gpu/drm/panfrost/ |
| H A D | panfrost_job.c | 327 job->render_done_fence = dma_fence_get(&job->base.s_fence->finished); in panfrost_job_push() 407 if (unlikely(job->base.s_fence->finished.error)) in panfrost_job_run()
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_sched.c | 312 job->done_fence = dma_fence_get(&job->base.s_fence->finished); in nouveau_job_submit()
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_mmu.c | 2343 if (job->base.s_fence) in panthor_vm_bind_job_release() 2679 &sched_job->s_fence->finished, in panthor_vm_bind_job_update_resvs()
|
| H A D | panthor_sched.c | 2738 job->base.s_fence->parent = dma_fence_get(job->done_fence); in queue_start() 3916 if (job->base.s_fence) in job_release() 4046 panthor_vm_update_resvs(job->group->vm, exec, &sched_job->s_fence->finished, in panthor_job_update_resvs()
|
| /linux/drivers/accel/amdxdna/ |
| H A D | aie2_ctx.c | 1022 job->out_fence = dma_fence_get(&job->base.s_fence->finished); in aie2_cmd_submit()
|