Home
last modified time | relevance | path

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

123456

/drivers/gpu/drm/nouveau/
Dnouveau_sched.c30 nouveau_job_init(struct nouveau_job *job, in nouveau_job_init() argument
36 job->file_priv = args->file_priv; in nouveau_job_init()
37 job->cli = nouveau_cli(args->file_priv); in nouveau_job_init()
38 job->entity = entity; in nouveau_job_init()
40 job->sync = args->sync; in nouveau_job_init()
41 job->resv_usage = args->resv_usage; in nouveau_job_init()
43 job->ops = args->ops; in nouveau_job_init()
45 job->in_sync.count = args->in_sync.count; in nouveau_job_init()
46 if (job->in_sync.count) { in nouveau_job_init()
47 if (job->sync) in nouveau_job_init()
[all …]
Dnouveau_exec.c89 nouveau_exec_job_submit(struct nouveau_job *job) in nouveau_exec_job_submit() argument
91 struct nouveau_exec_job *exec_job = to_nouveau_exec_job(job); in nouveau_exec_job_submit()
92 struct nouveau_cli *cli = job->cli; in nouveau_exec_job_submit()
94 struct drm_exec *exec = &job->exec; in nouveau_exec_job_submit()
141 nouveau_exec_job_armed_submit(struct nouveau_job *job) in nouveau_exec_job_armed_submit() argument
143 struct drm_exec *exec = &job->exec; in nouveau_exec_job_armed_submit()
148 dma_resv_add_fence(obj->resv, job->done_fence, job->resv_usage); in nouveau_exec_job_armed_submit()
154 nouveau_exec_job_run(struct nouveau_job *job) in nouveau_exec_job_run() argument
156 struct nouveau_exec_job *exec_job = to_nouveau_exec_job(job); in nouveau_exec_job_run()
163 NV_PRINTK(err, job->cli, "nv50cal_space: %d\n", ret); in nouveau_exec_job_run()
[all …]
/drivers/gpu/drm/amd/amdgpu/
Damdgpu_job.c37 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout() local
55 amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout()
61 amdgpu_vm_get_task_info(ring->adev, job->pasid, &ti); in amdgpu_job_timedout()
63 job->base.sched->name, atomic_read(&ring->fence_drv.last_seq), in amdgpu_job_timedout()
78 r = amdgpu_device_gpu_recover(ring->adev, job, &reset_context); in amdgpu_job_timedout()
95 unsigned int num_ibs, struct amdgpu_job **job) in amdgpu_job_alloc() argument
100 *job = kzalloc(struct_size(*job, ibs, num_ibs), GFP_KERNEL); in amdgpu_job_alloc()
101 if (!*job) in amdgpu_job_alloc()
108 (*job)->base.sched = &adev->rings[0]->sched; in amdgpu_job_alloc()
109 (*job)->vm = vm; in amdgpu_job_alloc()
[all …]
Damdgpu_ib.c127 struct amdgpu_ib *ibs, struct amdgpu_job *job, in amdgpu_ib_schedule() argument
141 int vmid = AMDGPU_JOB_GET_VMID(job); in amdgpu_ib_schedule()
151 if (job) { in amdgpu_ib_schedule()
152 vm = job->vm; in amdgpu_ib_schedule()
153 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule()
154 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule()
155 shadow_va = job->shadow_va; in amdgpu_ib_schedule()
156 csa_va = job->csa_va; in amdgpu_ib_schedule()
157 gds_va = job->gds_va; in amdgpu_ib_schedule()
158 init_shadow = job->init_shadow; in amdgpu_ib_schedule()
[all …]
Damdgpu_ids.c170 struct amdgpu_job *job) in amdgpu_vmid_gds_switch_needed() argument
172 return id->gds_base != job->gds_base || in amdgpu_vmid_gds_switch_needed()
173 id->gds_size != job->gds_size || in amdgpu_vmid_gds_switch_needed()
174 id->gws_base != job->gws_base || in amdgpu_vmid_gds_switch_needed()
175 id->gws_size != job->gws_size || in amdgpu_vmid_gds_switch_needed()
176 id->oa_base != job->oa_base || in amdgpu_vmid_gds_switch_needed()
177 id->oa_size != job->oa_size; in amdgpu_vmid_gds_switch_needed()
182 struct amdgpu_job *job) in amdgpu_vmid_compatible() argument
184 return id->pd_gpu_addr == job->vm_pd_addr && in amdgpu_vmid_compatible()
185 !amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_compatible()
[all …]
Damdgpu_job.h42 #define AMDGPU_JOB_GET_VMID(job) ((job) ? (job)->vmid : 0) argument
83 static inline struct amdgpu_ring *amdgpu_job_ring(struct amdgpu_job *job) in amdgpu_job_ring() argument
85 return to_amdgpu_ring(job->base.entity->rq->sched); in amdgpu_job_ring()
90 unsigned int num_ibs, struct amdgpu_job **job);
94 struct amdgpu_job **job);
95 void amdgpu_job_set_resources(struct amdgpu_job *job, struct amdgpu_bo *gds,
97 void amdgpu_job_free_resources(struct amdgpu_job *job);
98 void amdgpu_job_set_gang_leader(struct amdgpu_job *job,
100 void amdgpu_job_free(struct amdgpu_job *job);
101 struct dma_fence *amdgpu_job_submit(struct amdgpu_job *job);
[all …]
Damdgpu_trace.h35 #define AMDGPU_JOB_GET_TIMELINE_NAME(job) \ argument
36 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished)
144 struct amdgpu_job *job,
146 TP_ARGS(p, job, ib),
156 __entry->ring = to_amdgpu_ring(job->base.entity->rq->sched)->idx;
159 to_amdgpu_ring(job->base.entity->rq->sched));
167 TP_PROTO(struct amdgpu_job *job),
168 TP_ARGS(job),
171 __string(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job))
175 __string(ring, to_amdgpu_ring(job->base.sched)->name)
[all …]
/drivers/gpu/host1x/
Djob.c30 struct host1x_job *job = NULL; in host1x_job_alloc() local
51 mem = job = kzalloc(total, GFP_KERNEL); in host1x_job_alloc()
52 if (!job) in host1x_job_alloc()
55 job->enable_firewall = enable_firewall; in host1x_job_alloc()
57 kref_init(&job->ref); in host1x_job_alloc()
58 job->channel = ch; in host1x_job_alloc()
62 job->relocs = num_relocs ? mem : NULL; in host1x_job_alloc()
64 job->unpins = num_unpins ? mem : NULL; in host1x_job_alloc()
66 job->cmds = num_cmdbufs ? mem : NULL; in host1x_job_alloc()
68 job->addr_phys = num_unpins ? mem : NULL; in host1x_job_alloc()
[all …]
Dcdma.c274 struct host1x_job *job) in cdma_start_timer_locked() argument
281 cdma->timeout.client = job->client; in cdma_start_timer_locked()
282 cdma->timeout.syncpt = job->syncpt; in cdma_start_timer_locked()
283 cdma->timeout.syncpt_val = job->syncpt_end; in cdma_start_timer_locked()
287 msecs_to_jiffies(job->timeout)); in cdma_start_timer_locked()
313 struct host1x_job *job, *n; in update_cdma_locked() local
319 list_for_each_entry_safe(job, n, &cdma->sync_queue, list) { in update_cdma_locked()
320 struct host1x_syncpt *sp = job->syncpt; in update_cdma_locked()
323 if (!host1x_syncpt_is_expired(sp, job->syncpt_end) && in update_cdma_locked()
324 !job->cancelled) { in update_cdma_locked()
[all …]
/drivers/md/
Ddm-kcopyd.c420 struct kcopyd_job *job; in pop_io_job() local
426 list_for_each_entry(job, jobs, list) { in pop_io_job()
427 if (job->op == REQ_OP_READ || in pop_io_job()
428 !(job->flags & BIT(DM_KCOPYD_WRITE_SEQ))) { in pop_io_job()
429 list_del(&job->list); in pop_io_job()
430 return job; in pop_io_job()
433 if (job->write_offset == job->master_job->write_offset) { in pop_io_job()
434 job->master_job->write_offset += job->source.count; in pop_io_job()
435 list_del(&job->list); in pop_io_job()
436 return job; in pop_io_job()
[all …]
/drivers/gpu/host1x/hw/
Dchannel_hw.c50 static void submit_wait(struct host1x_job *job, u32 id, u32 threshold, in submit_wait() argument
53 struct host1x_cdma *cdma = &job->channel->cdma; in submit_wait()
63 if (job->memory_context) in submit_wait()
64 stream_id = job->memory_context->stream_id; in submit_wait()
66 stream_id = job->engine_fallback_streamid; in submit_wait()
79 host1x_cdma_push_wide(&job->channel->cdma, in submit_wait()
80 host1x_opcode_setclass(job->class, 0, 0), in submit_wait()
82 host1x_opcode_setstreamid(job->engine_streamid_offset / 4), in submit_wait()
113 static void submit_gathers(struct host1x_job *job, u32 job_syncpt_base) in submit_gathers() argument
115 struct host1x_cdma *cdma = &job->channel->cdma; in submit_gathers()
[all …]
Ddebug_hw.c196 struct host1x_job *job; in show_channel_gathers() local
198 list_for_each_entry(job, &cdma->sync_queue, list) { in show_channel_gathers()
202 job->syncpt->id, job->syncpt_end, job->timeout, in show_channel_gathers()
203 job->num_slots, job->num_unpins); in show_channel_gathers()
205 show_gather(o, pb->dma + job->first_get, job->num_slots * 2, cdma, in show_channel_gathers()
206 pb->dma + job->first_get, pb->mapped + job->first_get); in show_channel_gathers()
208 for (i = 0; i < job->num_cmds; i++) { in show_channel_gathers()
212 if (job->cmds[i].is_wait) in show_channel_gathers()
215 g = &job->cmds[i].gather; in show_channel_gathers()
217 if (job->gather_copy_mapped) in show_channel_gathers()
[all …]
/drivers/gpu/drm/v3d/
Dv3d_sched.c60 struct v3d_job *job = to_v3d_job(sched_job); in v3d_sched_job_free() local
62 v3d_job_cleanup(job); in v3d_sched_job_free()
66 v3d_switch_perfmon(struct v3d_dev *v3d, struct v3d_job *job) in v3d_switch_perfmon() argument
68 if (job->perfmon != v3d->active_perfmon) in v3d_switch_perfmon()
71 if (job->perfmon && v3d->active_perfmon != job->perfmon) in v3d_switch_perfmon()
72 v3d_perfmon_start(v3d, job->perfmon); in v3d_switch_perfmon()
77 struct v3d_bin_job *job = to_bin_job(sched_job); in v3d_bin_job_run() local
78 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run()
83 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_bin_job_run()
90 v3d->bin_job = job; in v3d_bin_job_run()
[all …]
Dv3d_gem.c252 v3d_lock_bo_reservations(struct v3d_job *job, in v3d_lock_bo_reservations() argument
257 ret = drm_gem_lock_reservations(job->bo, job->bo_count, acquire_ctx); in v3d_lock_bo_reservations()
261 for (i = 0; i < job->bo_count; i++) { in v3d_lock_bo_reservations()
262 ret = dma_resv_reserve_fences(job->bo[i]->resv, 1); in v3d_lock_bo_reservations()
266 ret = drm_sched_job_add_implicit_dependencies(&job->base, in v3d_lock_bo_reservations()
267 job->bo[i], true); in v3d_lock_bo_reservations()
275 drm_gem_unlock_reservations(job->bo, job->bo_count, acquire_ctx); in v3d_lock_bo_reservations()
298 struct v3d_job *job, in v3d_lookup_bos() argument
302 job->bo_count = bo_count; in v3d_lookup_bos()
304 if (!job->bo_count) { in v3d_lookup_bos()
[all …]
/drivers/accel/ivpu/
Divpu_job.c180 static int ivpu_cmdq_push_job(struct ivpu_cmdq *cmdq, struct ivpu_job *job) in ivpu_cmdq_push_job() argument
182 struct ivpu_device *vdev = job->vdev; in ivpu_cmdq_push_job()
191 job->file_priv->ctx.id, job->engine_idx, cmdq->db_id, header->head, tail); in ivpu_cmdq_push_job()
195 entry = &cmdq->jobq->job[tail]; in ivpu_cmdq_push_job()
196 entry->batch_buf_addr = job->cmd_buf_vpu_addr; in ivpu_cmdq_push_job()
197 entry->job_id = job->job_id; in ivpu_cmdq_push_job()
249 static void job_get(struct ivpu_job *job, struct ivpu_job **link) in job_get() argument
251 struct ivpu_device *vdev = job->vdev; in job_get()
253 kref_get(&job->ref); in job_get()
254 *link = job; in job_get()
[all …]
/drivers/gpu/drm/panfrost/
Dpanfrost_job.c106 int panfrost_job_get_slot(struct panfrost_job *job) in panfrost_job_get_slot() argument
112 if (job->requirements & PANFROST_JD_REQ_FS) in panfrost_job_get_slot()
117 if (job->requirements & PANFROST_JD_REQ_ONLY_COMPUTE) { in panfrost_job_get_slot()
118 if ((job->requirements & PANFROST_JD_REQ_CORE_GRP_MASK) && in panfrost_job_get_slot()
119 (job->pfdev->features.nr_core_groups == 2)) in panfrost_job_get_slot()
121 if (panfrost_has_hw_issue(job->pfdev, HW_ISSUE_8987)) in panfrost_job_get_slot()
146 panfrost_get_job_chain_flag(const struct panfrost_job *job) in panfrost_get_job_chain_flag() argument
148 struct panfrost_fence *f = to_panfrost_fence(job->done_fence); in panfrost_get_job_chain_flag()
150 if (!panfrost_has_hw_feature(job->pfdev, HW_FEATURE_JOBCHAIN_DISAMBIGUATION)) in panfrost_get_job_chain_flag()
159 struct panfrost_job *job = pfdev->jobs[slot][0]; in panfrost_dequeue_job() local
[all …]
Dpanfrost_drv.c139 struct panfrost_job *job) in panfrost_lookup_bos() argument
146 job->bo_count = args->bo_handle_count; in panfrost_lookup_bos()
148 if (!job->bo_count) in panfrost_lookup_bos()
153 job->bo_count, &job->bos); in panfrost_lookup_bos()
157 job->mappings = kvmalloc_array(job->bo_count, in panfrost_lookup_bos()
160 if (!job->mappings) in panfrost_lookup_bos()
163 for (i = 0; i < job->bo_count; i++) { in panfrost_lookup_bos()
166 bo = to_panfrost_bo(job->bos[i]); in panfrost_lookup_bos()
174 job->mappings[i] = mapping; in panfrost_lookup_bos()
197 struct panfrost_job *job) in panfrost_copy_in_sync() argument
[all …]
/drivers/gpu/drm/
Ddrm_writeback.c312 int drm_writeback_prepare_job(struct drm_writeback_job *job) in drm_writeback_prepare_job() argument
314 struct drm_writeback_connector *connector = job->connector; in drm_writeback_prepare_job()
320 ret = funcs->prepare_writeback_job(connector, job); in drm_writeback_prepare_job()
325 job->prepared = true; in drm_writeback_prepare_job()
352 struct drm_writeback_job *job; in drm_writeback_queue_job() local
355 job = conn_state->writeback_job; in drm_writeback_queue_job()
359 list_add_tail(&job->list_entry, &wb_connector->job_queue); in drm_writeback_queue_job()
364 void drm_writeback_cleanup_job(struct drm_writeback_job *job) in drm_writeback_cleanup_job() argument
366 struct drm_writeback_connector *connector = job->connector; in drm_writeback_cleanup_job()
370 if (job->prepared && funcs->cleanup_writeback_job) in drm_writeback_cleanup_job()
[all …]
/drivers/scsi/lpfc/
Dlpfc_bsg.c295 struct bsg_job *job; in lpfc_bsg_send_mgmt_cmd_cmp() local
308 job = dd_data->set_job; in lpfc_bsg_send_mgmt_cmd_cmp()
309 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp()
310 bsg_reply = job->reply; in lpfc_bsg_send_mgmt_cmd_cmp()
312 job->dd_data = NULL; in lpfc_bsg_send_mgmt_cmd_cmp()
332 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp()
351 lpfc_bsg_copy_data(rmp, &job->reply_payload, in lpfc_bsg_send_mgmt_cmd_cmp()
366 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp()
368 bsg_job_done(job, bsg_reply->result, in lpfc_bsg_send_mgmt_cmd_cmp()
379 lpfc_bsg_send_mgmt_cmd(struct bsg_job *job) in lpfc_bsg_send_mgmt_cmd() argument
[all …]
/drivers/gpu/drm/tegra/
Dsubmit.c327 static int submit_get_syncpt(struct tegra_drm_context *context, struct host1x_job *job, in submit_get_syncpt() argument
344 job->syncpt = host1x_syncpt_get(sp); in submit_get_syncpt()
345 job->syncpt_incrs = args->syncpt.increments; in submit_get_syncpt()
350 static int submit_job_add_gather(struct host1x_job *job, struct tegra_drm_context *context, in submit_job_add_gather() argument
385 host1x_job_add_gather(job, &bo->base, cmd->words, *offset * 4); in submit_job_add_gather()
399 struct host1x_job *job; in submit_create_job() local
412 job = host1x_job_alloc(context->channel, args->num_cmds, 0, true); in submit_create_job()
413 if (!job) { in submit_create_job()
415 job = ERR_PTR(-ENOMEM); in submit_create_job()
419 err = submit_get_syncpt(context, job, syncpoints, args); in submit_create_job()
[all …]
/drivers/gpu/drm/scheduler/
Dsched_main.c386 struct drm_sched_job *job; in drm_sched_job_timedout() local
393 job = list_first_entry_or_null(&sched->pending_list, in drm_sched_job_timedout()
396 if (job) { in drm_sched_job_timedout()
402 list_del_init(&job->list); in drm_sched_job_timedout()
405 status = job->sched->ops->timedout_job(job); in drm_sched_job_timedout()
412 job->sched->ops->free_job(job); in drm_sched_job_timedout()
631 int drm_sched_job_init(struct drm_sched_job *job, in drm_sched_job_init() argument
638 job->entity = entity; in drm_sched_job_init()
639 job->s_fence = drm_sched_fence_alloc(entity, owner); in drm_sched_job_init()
640 if (!job->s_fence) in drm_sched_job_init()
[all …]
Dsched_entity.c166 struct drm_sched_job *job = container_of(wrk, typeof(*job), work); in drm_sched_entity_kill_jobs_work() local
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()
170 job->sched->ops->free_job(job); in drm_sched_entity_kill_jobs_work()
177 struct drm_sched_job *job = container_of(cb, struct drm_sched_job, in drm_sched_entity_kill_jobs_cb() local
184 xa_for_each(&job->dependencies, index, f) { in drm_sched_entity_kill_jobs_cb()
202 xa_erase(&job->dependencies, index); in drm_sched_entity_kill_jobs_cb()
203 if (f && !dma_fence_add_callback(f, &job->finish_cb, in drm_sched_entity_kill_jobs_cb()
210 INIT_WORK(&job->work, drm_sched_entity_kill_jobs_work); in drm_sched_entity_kill_jobs_cb()
211 schedule_work(&job->work); in drm_sched_entity_kill_jobs_cb()
[all …]
/drivers/ufs/core/
Dufs_bsg.c29 static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job, in ufs_bsg_alloc_desc_buffer() argument
33 struct ufs_bsg_request *bsg_request = job->request; in ufs_bsg_alloc_desc_buffer()
47 if (*desc_len > job->request_payload.payload_len) { in ufs_bsg_alloc_desc_buffer()
57 sg_copy_to_buffer(job->request_payload.sg_list, in ufs_bsg_alloc_desc_buffer()
58 job->request_payload.sg_cnt, descp, in ufs_bsg_alloc_desc_buffer()
67 static int ufs_bsg_exec_advanced_rpmb_req(struct ufs_hba *hba, struct bsg_job *job) in ufs_bsg_exec_advanced_rpmb_req() argument
69 struct ufs_rpmb_request *rpmb_request = job->request; in ufs_bsg_exec_advanced_rpmb_req()
70 struct ufs_rpmb_reply *rpmb_reply = job->reply; in ufs_bsg_exec_advanced_rpmb_req()
107 payload = &job->request_payload; in ufs_bsg_exec_advanced_rpmb_req()
132 static int ufs_bsg_request(struct bsg_job *job) in ufs_bsg_request() argument
[all …]
/drivers/accel/habanalabs/common/
Dhw_queue.c268 static void ext_queue_schedule_job(struct hl_cs_job *job) in ext_queue_schedule_job() argument
270 struct hl_device *hdev = job->cs->ctx->hdev; in ext_queue_schedule_job()
271 struct hl_hw_queue *q = &hdev->kernel_queues[job->hw_queue_id]; in ext_queue_schedule_job()
286 cb = job->patched_cb; in ext_queue_schedule_job()
287 len = job->job_cb_size; in ext_queue_schedule_job()
291 if (!cs_needs_completion(job->cs)) in ext_queue_schedule_job()
311 job->user_cb_size, in ext_queue_schedule_job()
315 job->contains_dma_pkt); in ext_queue_schedule_job()
317 q->shadow_queue[hl_pi_2_offset(q->pi)] = job; in ext_queue_schedule_job()
333 static void int_queue_schedule_job(struct hl_cs_job *job) in int_queue_schedule_job() argument
[all …]
/drivers/gpu/drm/ci/
Dlava-submit.sh16 mkdir -p results/job-rootfs-overlay/
18 cp artifacts/ci-common/capture-devcoredump.sh results/job-rootfs-overlay/
19 cp artifacts/ci-common/init-*.sh results/job-rootfs-overlay/
20 cp artifacts/ci-common/intel-gpu-freq.sh results/job-rootfs-overlay/
21 cp "$SCRIPTS_DIR"/setup-test-env.sh results/job-rootfs-overlay/
26 artifacts/ci-common/generate-env.sh | tee results/job-rootfs-overlay/set-job-env-vars.sh
29 tar zcf job-rootfs-overlay.tar.gz -C results/job-rootfs-overlay/ .
30 ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" job-rootfs-overlay.tar.gz "https://${JOB_ROOTFS_OVE…
42 --job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}" \
43 --job-timeout-min ${JOB_TIMEOUT:-80} \
[all …]

123456