Home
last modified time | relevance | path

Searched refs:job (Results 1 – 25 of 379) sorted by relevance

12345678910>>...16

/linux-6.15/drivers/gpu/drm/nouveau/
H A Dnouveau_sched.c45 if (job->sync) in nouveau_job_init()
58 if (job->sync) { in nouveau_job_init()
72 job->out_sync.objs = kcalloc(job->out_sync.count, in nouveau_job_init()
80 job->out_sync.chains = kcalloc(job->out_sync.count, in nouveau_job_init()
115 job->ops->free(job); in nouveau_job_fini()
302 ret = job->ops->submit(job, &vm_exec); in nouveau_job_submit()
309 list_add(&job->entry, &sched->job.list.head); in nouveau_job_submit()
314 if (job->sync) in nouveau_job_submit()
318 job->ops->armed_submit(job, &vm_exec); in nouveau_job_submit()
351 fence = job->ops->run(job); in nouveau_job_run()
[all …]
H A Dnouveau_exec.c122 job->resv_usage, job->resv_usage); in nouveau_exec_job_armed_submit()
168 nouveau_job_done(job); in nouveau_exec_job_free()
169 nouveau_job_free(job); in nouveau_exec_job_free()
203 struct nouveau_exec_job *job; in nouveau_exec_job_init() local
218 job = *pjob = kzalloc(sizeof(*job), GFP_KERNEL); in nouveau_exec_job_init()
219 if (!job) in nouveau_exec_job_init()
228 if (!job->push.s) { in nouveau_exec_job_init()
235 job->chan = __args->chan; in nouveau_exec_job_init()
257 kfree(job->push.s); in nouveau_exec_job_init()
259 kfree(job); in nouveau_exec_job_init()
[all …]
/linux-6.15/drivers/gpu/host1x/
H A Djob.c52 if (!job) in host1x_job_alloc()
70 job->reloc_addr_phys = job->addr_phys; in host1x_job_alloc()
71 job->gather_addr_phys = &job->addr_phys[num_relocs]; in host1x_job_alloc()
73 return job; in host1x_job_alloc()
80 return job; in host1x_job_get()
89 job->release(job); in job_free()
200 job->addr_phys[job->num_unpins] = map->phys; in pin_job()
201 job->unpins[job->num_unpins].map = map; in pin_job()
263 job->addr_phys[job->num_unpins] = map->phys; in pin_job()
264 job->unpins[job->num_unpins].map = map; in pin_job()
[all …]
H A Dcdma.c326 if (job->timeout) in update_cdma_locked()
340 if (job->num_slots) { in update_cdma_locked()
349 list_del(&job->list); in update_cdma_locked()
350 host1x_job_put(job); in update_cdma_locked()
398 job = NULL; in host1x_cdma_update_sync_queue()
413 if (!job) in host1x_cdma_update_sync_queue()
422 job->timeout = 0; in host1x_cdma_update_sync_queue()
432 job->num_slots); in host1x_cdma_update_sync_queue()
470 unsigned int next_job = (job->first_get/8 + job->num_slots) in host1x_cdma_update_sync_queue()
564 if (job->timeout) { in host1x_cdma_begin()
[all …]
/linux-6.15/drivers/gpu/drm/xe/
H A Dxe_sched_job.c100 struct xe_sched_job *job; in xe_sched_job_create() local
109 if (!job) in xe_sched_job_create()
112 job->q = q; in xe_sched_job_create()
113 kref_init(&job->refcount); in xe_sched_job_create()
114 xe_exec_queue_get(job->q); in xe_sched_job_create()
150 return job; in xe_sched_job_create()
157 job_free(job); in xe_sched_job_create()
170 struct xe_sched_job *job = in xe_sched_job_destroy() local
178 job_free(job); in xe_sched_job_destroy()
289 xe_sched_job_get(job); in xe_sched_job_push()
[all …]
H A Dxe_sched_job.h33 kref_get(&job->refcount); in xe_sched_job_get()
34 return job; in xe_sched_job_get()
46 kref_put(&job->refcount, xe_sched_job_destroy); in xe_sched_job_put()
52 return job->fence->error < 0; in xe_sched_job_is_error()
55 bool xe_sched_job_started(struct xe_sched_job *job);
56 bool xe_sched_job_completed(struct xe_sched_job *job);
58 void xe_sched_job_arm(struct xe_sched_job *job);
59 void xe_sched_job_push(struct xe_sched_job *job);
73 return job->fence ? job->fence->seqno : 0; in xe_sched_job_seqno()
78 return job->lrc_seqno; in xe_sched_job_lrc_seqno()
[all …]
H A Dxe_ring_ops.c229 if (job->q->vm && !job->ggtt) in get_ppgtt_flag()
267 if (job->user_fence.used) { in __emit_job_gen12_simple()
270 job->user_fence.value, in __emit_job_gen12_simple()
330 if (job->user_fence.used) { in __emit_job_gen12_video()
333 job->user_fence.value, in __emit_job_gen12_video()
381 if (job->user_fence.used) in __emit_job_gen12_render_compute()
439 __emit_job_gen12_simple(job, job->q->lrc[0], in emit_job_gen12_gsc()
449 emit_migration_job_gen12(job, job->q->lrc[0], in emit_job_gen12_copy()
455 __emit_job_gen12_simple(job, job->q->lrc[i], in emit_job_gen12_copy()
466 __emit_job_gen12_video(job, job->q->lrc[i], in emit_job_gen12_video()
[all …]
/linux-6.15/drivers/md/
H A Ddm-kcopyd.c434 job->master_job->write_offset += job->source.count; in pop_io_job()
460 return job; in pop()
500 if (job->pages && job->pages != &zero_page_list) in run_complete_job()
506 if (job->master_job == job) { in run_complete_job()
574 job->write_err = job->master_job->write_err; in run_io_job()
596 push(&job->kc->io_jobs, job); in run_pages_job()
715 if ((!job->read_err && !job->write_err) || in segment_complete()
829 memset(&job->source, 0, sizeof(job->source)); in dm_kcopyd_copy()
830 job->source.count = job->dests[0].count; in dm_kcopyd_copy()
846 job->master_job = job; in dm_kcopyd_copy()
[all …]
/linux-6.15/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_job.c213 if (!*job) in amdgpu_job_alloc()
244 kfree(*job); in amdgpu_job_alloc_with_ib()
273 if (job->base.s_fence && job->base.s_fence->finished.ops) in amdgpu_job_free_resources()
294 kfree(job); in amdgpu_job_free_cb()
322 if (job->gang_submit != &job->base.s_fence->scheduled) in amdgpu_job_free()
326 kfree(job); in amdgpu_job_free()
349 r = amdgpu_ib_schedule(ring, job->num_ibs, job->ibs, job, fence); in amdgpu_job_submit_direct()
381 if (job->vm && !job->vmid) { in amdgpu_job_prepare_job()
382 r = amdgpu_vmid_grab(job->vm, ring, job, &fence); in amdgpu_job_prepare_job()
419 (job->job_run_counter && job->gang_submit)) in amdgpu_job_run()
[all …]
H A Damdgpu_ib.c149 if (job) { in amdgpu_ib_schedule()
150 vm = job->vm; in amdgpu_ib_schedule()
151 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule()
153 shadow_va = job->shadow_va; in amdgpu_ib_schedule()
154 csa_va = job->csa_va; in amdgpu_ib_schedule()
155 gds_va = job->gds_va; in amdgpu_ib_schedule()
156 init_shadow = job->init_shadow; in amdgpu_ib_schedule()
214 if (job) { in amdgpu_ib_schedule()
275 if (job && job->uf_addr) { in amdgpu_ib_schedule()
276 amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, in amdgpu_ib_schedule()
[all …]
H A Damdgpu_ids.c169 struct amdgpu_job *job) in amdgpu_vmid_gds_switch_needed() argument
176 id->oa_size != job->oa_size; in amdgpu_vmid_gds_switch_needed()
181 struct amdgpu_job *job) in amdgpu_vmid_compatible() argument
338 struct amdgpu_job *job, in amdgpu_vmid_grab_used() argument
434 job->vm_needs_flush = true; in amdgpu_vmid_grab()
440 job->gds_switch_needed = amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_grab()
441 if (job->vm_needs_flush) { in amdgpu_vmid_grab()
446 job->vmid = id - id_mgr->ids; in amdgpu_vmid_grab()
447 job->pasid = vm->pasid; in amdgpu_vmid_grab()
453 id->oa_base = job->oa_base; in amdgpu_vmid_grab()
[all …]
H A Damdgpu_job.h42 #define AMDGPU_JOB_GET_VMID(job) ((job) ? (job)->vmid : 0) argument
86 static inline struct amdgpu_ring *amdgpu_job_ring(struct amdgpu_job *job) in amdgpu_job_ring() argument
88 return to_amdgpu_ring(job->base.entity->rq->sched); in amdgpu_job_ring()
93 unsigned int num_ibs, struct amdgpu_job **job);
97 struct amdgpu_job **job);
98 void amdgpu_job_set_resources(struct amdgpu_job *job, struct amdgpu_bo *gds,
100 void amdgpu_job_free_resources(struct amdgpu_job *job);
101 void amdgpu_job_set_gang_leader(struct amdgpu_job *job,
103 void amdgpu_job_free(struct amdgpu_job *job);
104 struct dma_fence *amdgpu_job_submit(struct amdgpu_job *job);
[all …]
/linux-6.15/drivers/gpu/host1x/hw/
H A Dchannel_hw.c233 submit_wait(job, job->syncpt->id, fence, job->class); in channel_program_cdma()
236 job->syncpt_end = host1x_syncpt_incr_max(sp, job->syncpt_incrs); in channel_program_cdma()
237 submit_gathers(job, job->syncpt_end - job->syncpt_incrs); in channel_program_cdma()
245 submit_wait(job, job->syncpt->id, fence, job->class); in channel_program_cdma()
268 if (job->class) in channel_program_cdma()
273 job->syncpt_end = host1x_syncpt_incr_max(sp, job->syncpt_incrs); in channel_program_cdma()
275 submit_gathers(job, job->syncpt_end - job->syncpt_incrs); in channel_program_cdma()
297 job->num_cmds, job->num_relocs, in channel_submit()
298 job->syncpt->id, job->syncpt_incrs); in channel_submit()
328 job->fence = NULL; in channel_submit()
[all …]
/linux-6.15/drivers/gpu/drm/imagination/
H A Dpvr_job.c27 xa_erase(&job->pvr_dev->job_ids, job->id); in pvr_job_release()
37 kfree(job->cmd); in pvr_job_release()
38 kfree(job); in pvr_job_release()
48 if (job) in pvr_job_put()
74 if (!job->cmd) in pvr_job_process_stream()
418 job = kzalloc(sizeof(*job), GFP_KERNEL); in create_job()
419 if (!job) in create_job()
453 return job; in create_job()
541 struct pvr_job *job = job_data[i].job; in jobs_lock_all_objs() local
624 struct pvr_job *job = job_data[i - 1].job; in get_last_queued_job_scheduled_fence() local
[all …]
H A Dpvr_queue.c425 queue->cccb_fence_ctx.job = pvr_job_get(job); in pvr_queue_get_job_cccb_fence()
679 pvr_cccb_write_command_with_header(cccb, job->fw_ccb_cmd_type, job->cmd_len, job->cmd, in pvr_queue_submit_job_to_cccb()
680 job->id, job->id); in pvr_queue_submit_job_to_cccb()
720 job->hwrt != job->paired_job->hwrt || in pvr_queue_run_job()
721 job->ctx != job->paired_job->ctx))) in pvr_queue_run_job()
953 job = queue->cccb_fence_ctx.job; in pvr_queue_check_job_waiting_for_cccb_space()
954 if (!job) in pvr_queue_check_job_waiting_for_cccb_space()
961 job = NULL; in pvr_queue_check_job_waiting_for_cccb_space()
968 job = NULL; in pvr_queue_check_job_waiting_for_cccb_space()
978 job = NULL; in pvr_queue_check_job_waiting_for_cccb_space()
[all …]
H A Dpvr_job.h104 pvr_job_get(struct pvr_job *job) in pvr_job_get() argument
106 if (job) in pvr_job_get()
107 kref_get(&job->ref_count); in pvr_job_get()
109 return job; in pvr_job_get()
112 void pvr_job_put(struct pvr_job *job);
121 if (job->has_pm_ref) { in pvr_job_release_pm_ref()
122 pvr_power_put(job->pvr_dev); in pvr_job_release_pm_ref()
123 job->has_pm_ref = false; in pvr_job_release_pm_ref()
140 if (job->has_pm_ref) in pvr_job_get_pm_ref()
143 err = pvr_power_get(job->pvr_dev); in pvr_job_get_pm_ref()
[all …]
/linux-6.15/block/
H A Dbsg-lib.c31 struct bsg_job *job; in bsg_transport_sg_io_fn() local
50 reply = job->reply; in bsg_transport_sg_io_fn()
51 memset(job, 0, sizeof(*job)); in bsg_transport_sg_io_fn()
52 job->reply = reply; in bsg_transport_sg_io_fn()
54 job->dd_data = job + 1; in bsg_transport_sg_io_fn()
76 job->bidi_bio = job->bidi_rq->bio; in bsg_transport_sg_io_fn()
140 if (job->bidi_rq) in bsg_transport_sg_io_fn()
143 if (job->bidi_rq) in bsg_transport_sg_io_fn()
245 ret = bsg_map_buffer(&job->reply_payload, job->bidi_rq); in bsg_prepare_job()
249 job->dev = dev; in bsg_prepare_job()
[all …]
/linux-6.15/drivers/gpu/drm/v3d/
H A Dv3d_sched.c73 v3d_job_cleanup(job); in v3d_sched_job_free()
240 v3d->bin_job = job; in v3d_bin_job_run()
258 job->start, job->end); in v3d_bin_job_run()
266 if (job->qma) { in v3d_bin_job_run()
270 if (job->qts) { in v3d_bin_job_run()
273 job->qts); in v3d_bin_job_run()
312 job->start, job->end); in v3d_render_job_run()
341 v3d->tfu_job = job; in v3d_tfu_job_run()
694 cpu_job_function[job->job_type](job); in v3d_cpu_job_run()
788 &job->timedout_ctca, &job->timedout_ctra); in v3d_bin_job_timedout()
[all …]
H A Dv3d_submit.c84 job->bo_count, &job->bo); in v3d_lookup_bos()
105 kfree(job); in v3d_job_free()
124 if (!job) in v3d_job_cleanup()
133 if (!job) in v3d_job_put()
136 kref_put(&job->refcount, job->free); in v3d_job_put()
239 dma_resv_add_fence(job->bo[i]->resv, job->done_fence, in v3d_attach_fences_and_unlock_reservation()
278 ret = v3d_job_allocate((void *)job, sizeof(**job)); in v3d_setup_csd_jobs_and_bos()
417 if (!job) { in v3d_get_cpu_indirect_csd_params()
460 if (!job) { in v3d_get_cpu_timestamp_query_params()
1089 ret = v3d_job_allocate((void *)&job, sizeof(*job)); in v3d_submit_tfu_ioctl()
[all …]
/linux-6.15/drivers/gpu/drm/panfrost/
H A Dpanfrost_job.c161 WARN_ON(!job); in panfrost_dequeue_job()
163 if (job->is_profiled && job->engine_usage) { in panfrost_dequeue_job()
176 return job; in panfrost_dequeue_job()
303 ret = drm_gem_lock_reservations(job->bos, job->bo_count, in panfrost_job_push()
326 panfrost_attach_object_fences(job->bos, job->bo_count, in panfrost_job_push()
362 kfree(job); in panfrost_job_cleanup()
392 if (!job->jc) in panfrost_job_run()
461 job->jc = 0; in panfrost_job_handle_err()
468 job->jc = 0; in panfrost_job_handle_err()
491 job->jc = 0; in panfrost_job_handle_done()
[all …]
/linux-6.15/drivers/accel/ivpu/
H A Divpu_job.c474 job->job_id, job->file_priv->ctx.id, job->cmdq_id, job->engine_idx); in ivpu_job_destroy()
482 kfree(job); in ivpu_job_destroy()
491 job = kzalloc(struct_size(job, bos, bo_count), GFP_KERNEL); in ivpu_job_create()
492 if (!job) in ivpu_job_create()
508 return job; in ivpu_job_create()
511 kfree(job); in ivpu_job_create()
527 return job; in ivpu_job_remove_from_submitted_jobs()
537 if (!job) in ivpu_job_signal_and_destroy()
557 if (!job) in ivpu_job_signal_and_destroy()
568 job->job_id, job->file_priv->ctx.id, job->cmdq_id, job->engine_idx, job_status); in ivpu_job_signal_and_destroy()
[all …]
/linux-6.15/drivers/accel/amdxdna/
H A Daie2_ctx.c39 if (job->out_fence) in aie2_job_release()
41 kfree(job); in aie2_job_release()
179 trace_xdna_job(&job->base, job->hwctx->name, "signaled fence", job->seq); in aie2_sched_notify()
187 aie2_job_put(job); in aie2_sched_notify()
327 aie2_job_put(job); in aie2_sched_job_run()
328 mmput(job->mm); in aie2_sched_job_run()
342 if (!job->job_done) in aie2_sched_job_free()
346 aie2_job_put(job); in aie2_sched_job_free()
875 job->out_fence = dma_fence_get(&job->base.s_fence->finished); in aie2_cmd_submit()
882 *seq = job->seq; in aie2_cmd_submit()
[all …]
/linux-6.15/drivers/gpu/drm/
H A Ddrm_writeback.c449 job->prepared = true; in drm_writeback_prepare_job()
476 struct drm_writeback_job *job; in drm_writeback_queue_job() local
497 if (job->fb) in drm_writeback_cleanup_job()
498 drm_framebuffer_put(job->fb); in drm_writeback_cleanup_job()
500 if (job->out_fence) in drm_writeback_cleanup_job()
503 kfree(job); in drm_writeback_cleanup_job()
551 if (job) in drm_writeback_signal_completion()
552 list_del(&job->list_entry); in drm_writeback_signal_completion()
556 if (WARN_ON(!job)) in drm_writeback_signal_completion()
559 out_fence = job->out_fence; in drm_writeback_signal_completion()
[all …]
/linux-6.15/drivers/gpu/drm/tegra/
H A Dsubmit.c399 struct host1x_job *job; in submit_create_job() local
413 if (!job) { in submit_create_job()
425 job->serialize = true; in submit_create_job()
481 host1x_job_put(job); in submit_create_job()
482 job = ERR_PTR(err); in submit_create_job()
487 return job; in submit_create_job()
577 if (IS_ERR(job)) { in tegra_drm_ioctl_channel_submit()
578 err = PTR_ERR(job); in tegra_drm_ioctl_channel_submit()
630 job->timeout = 10000; in tegra_drm_ioctl_channel_submit()
664 host1x_job_unpin(job); in tegra_drm_ioctl_channel_submit()
[all …]
/linux-6.15/drivers/gpu/drm/scheduler/
H A Dsched_main.c385 if (job && dma_fence_is_signaled(&job->s_fence->finished)) in drm_sched_run_free_queue()
552 if (job) { in drm_sched_job_timedout()
561 status = job->sched->ops->timedout_job(job); in drm_sched_job_timedout()
568 job->sched->ops->free_job(job); in drm_sched_job_timedout()
809 memset(job, 0, sizeof(*job)); in drm_sched_job_init()
814 if (!job->s_fence) in drm_sched_job_init()
851 drm_sched_fence_init(job->s_fence, job->entity); in drm_sched_job_arm()
1108 if (job && dma_fence_is_signaled(&job->s_fence->finished)) { in drm_sched_get_finished_job()
1127 job = NULL; in drm_sched_get_finished_job()
1132 return job; in drm_sched_get_finished_job()
[all …]

12345678910>>...16