Lines Matching full:job
10 * scheduler will round-robin between clients to submit the next job.
13 * jobs when bulk background jobs are queued up, we submit a new job
36 struct v3d_job *job = to_v3d_job(sched_job); in v3d_job_free() local
38 v3d_exec_put(job->exec); in v3d_job_free()
42 * Returns the fences that the bin job depends on, one by one.
49 struct v3d_job *job = to_v3d_job(sched_job); in v3d_job_dependency() local
50 struct v3d_exec_info *exec = job->exec; in v3d_job_dependency()
51 enum v3d_queue q = job == &exec->bin ? V3D_BIN : V3D_RENDER; in v3d_job_dependency()
54 fence = job->in_fence; in v3d_job_dependency()
56 job->in_fence = NULL; in v3d_job_dependency()
61 /* If we had a bin job, the render job definitely depends on in v3d_job_dependency()
81 struct v3d_job *job = to_v3d_job(sched_job); in v3d_job_run() local
82 struct v3d_exec_info *exec = job->exec; in v3d_job_run()
83 enum v3d_queue q = job == &exec->bin ? V3D_BIN : V3D_RENDER; in v3d_job_run()
89 if (unlikely(job->base.s_fence->finished.error)) in v3d_job_run()
97 v3d->bin_job = job->exec; in v3d_job_run()
100 * reuse the overflow attached to a previous job. in v3d_job_run()
104 v3d->render_job = job->exec; in v3d_job_run()
120 if (job->done_fence) in v3d_job_run()
121 dma_fence_put(job->done_fence); in v3d_job_run()
122 job->done_fence = dma_fence_get(fence); in v3d_job_run()
125 job->start, job->end); in v3d_job_run()
142 * Writing the end register is what starts the job. in v3d_job_run()
144 V3D_CORE_WRITE(0, V3D_CLE_CTNQBA(q), job->start); in v3d_job_run()
145 V3D_CORE_WRITE(0, V3D_CLE_CTNQEA(q), job->end); in v3d_job_run()
153 struct v3d_job *job = to_v3d_job(sched_job); in v3d_job_timedout() local
154 struct v3d_exec_info *exec = job->exec; in v3d_job_timedout()
156 enum v3d_queue job_q = job == &exec->bin ? V3D_BIN : V3D_RENDER; in v3d_job_timedout()
167 if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) { in v3d_job_timedout()
168 job->timedout_ctca = ctca; in v3d_job_timedout()
169 job->timedout_ctra = ctra; in v3d_job_timedout()
171 schedule_delayed_work(&job->base.work_tdr, in v3d_job_timedout()
172 job->base.sched->timeout); in v3d_job_timedout()