/linux-6.3-rc2/drivers/gpu/drm/amd/amdgpu/ |
A D | amdgpu_job.c | 99 if (!*job) in amdgpu_job_alloc() 135 kfree(*job); in amdgpu_job_alloc_with_ib() 165 if (job->base.s_fence && job->base.s_fence->finished.ops) in amdgpu_job_free_resources() 186 kfree(job); in amdgpu_job_free_cb() 214 if (job->gang_submit != &job->base.s_fence->scheduled) in amdgpu_job_free() 218 kfree(job); in amdgpu_job_free() 241 r = amdgpu_ib_schedule(ring, job->num_ibs, job->ibs, job, fence); in amdgpu_job_submit_direct() 262 while (!fence && job->vm && !job->vmid) { in amdgpu_job_prepare_job() 263 r = amdgpu_vmid_grab(job->vm, ring, job, &fence); in amdgpu_job_prepare_job() 286 (job->job_run_counter && job->gang_submit)) in amdgpu_job_run() [all …]
|
A D | amdgpu_ids.c | 170 struct amdgpu_job *job) in amdgpu_vmid_gds_switch_needed() argument 177 id->oa_size != job->oa_size; in amdgpu_vmid_gds_switch_needed() 182 struct amdgpu_job *job) in amdgpu_vmid_compatible() argument 336 struct amdgpu_job *job, in amdgpu_vmid_grab_used() argument 431 job->vm_needs_flush = true; in amdgpu_vmid_grab() 437 job->gds_switch_needed = amdgpu_vmid_gds_switch_needed(id, job); in amdgpu_vmid_grab() 438 if (job->vm_needs_flush) { in amdgpu_vmid_grab() 443 job->vmid = id - id_mgr->ids; in amdgpu_vmid_grab() 444 job->pasid = vm->pasid; in amdgpu_vmid_grab() 450 id->oa_base = job->oa_base; in amdgpu_vmid_grab() [all …]
|
A D | amdgpu_job.h | 42 #define AMDGPU_JOB_GET_VMID(job) ((job) ? (job)->vmid : 0) argument 77 static inline struct amdgpu_ring *amdgpu_job_ring(struct amdgpu_job *job) in amdgpu_job_ring() argument 79 return to_amdgpu_ring(job->base.entity->rq->sched); in amdgpu_job_ring() 84 unsigned int num_ibs, struct amdgpu_job **job); 88 struct amdgpu_job **job); 89 void amdgpu_job_set_resources(struct amdgpu_job *job, struct amdgpu_bo *gds, 91 void amdgpu_job_free_resources(struct amdgpu_job *job); 92 void amdgpu_job_set_gang_leader(struct amdgpu_job *job, 94 void amdgpu_job_free(struct amdgpu_job *job); 95 struct dma_fence *amdgpu_job_submit(struct amdgpu_job *job); [all …]
|
A D | amdgpu_ib.c | 149 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() 191 trace_amdgpu_ib_pipe_sync(job, tmp); in amdgpu_ib_schedule() 206 if (job) { in amdgpu_ib_schedule() 215 if (job && ring->funcs->init_cond_exec) in amdgpu_ib_schedule() 224 status |= job->preamble_status; in amdgpu_ib_schedule() 225 status |= job->preemption_status; in amdgpu_ib_schedule() 261 if (job && job->uf_addr) { in amdgpu_ib_schedule() 262 amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, in amdgpu_ib_schedule() [all …]
|
A D | amdgpu_trace.h | 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), 167 TP_PROTO(struct amdgpu_job *job), 168 TP_ARGS(job), 185 __entry->num_ibs = job->num_ibs; 193 TP_PROTO(struct amdgpu_job *job), 194 TP_ARGS(job), 220 struct amdgpu_job *job), 221 TP_ARGS(vm, ring, job), [all …]
|
/linux-6.3-rc2/drivers/gpu/host1x/ |
A D | job.c | 52 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 …]
|
A D | cdma.c | 326 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.3-rc2/drivers/md/ |
A D | dm-kcopyd.c | 434 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.3-rc2/drivers/gpu/host1x/hw/ |
A D | channel_hw.c | 233 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 …]
|
A D | debug_hw.c | 196 struct host1x_job *job; in show_channel_gathers() local 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() 218 mapped = (u32 *)job->gather_copy_mapped; in show_channel_gathers() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/v3d/ |
A D | v3d_sched.c | 62 v3d_job_cleanup(job); in v3d_sched_job_free() 71 if (job->perfmon && v3d->active_perfmon != job->perfmon) in v3d_switch_perfmon() 90 v3d->bin_job = job; in v3d_bin_job_run() 108 job->start, job->end); in v3d_bin_job_run() 115 if (job->qma) { in v3d_bin_job_run() 119 if (job->qts) { in v3d_bin_job_run() 122 job->qts); in v3d_bin_job_run() 159 job->start, job->end); in v3d_render_job_run() 186 v3d->tfu_job = job; in v3d_tfu_job_run() 314 &job->timedout_ctca, &job->timedout_ctra); in v3d_bin_job_timedout() [all …]
|
A D | v3d_gem.c | 275 drm_gem_unlock_reservations(job->bo, job->bo_count, acquire_ctx); in v3d_lock_bo_reservations() 314 job->bo_count, &job->bo); in v3d_lookup_bos() 323 if (job->bo) { in v3d_job_free() 335 kfree(job); in v3d_job_free() 354 if (!job) in v3d_job_cleanup() 363 kref_put(&job->refcount, job->free); in v3d_job_put() 430 job->v3d = v3d; in v3d_job_init() 479 job->done_fence = dma_fence_get(&job->base.s_fence->finished); in v3d_push_job() 501 dma_resv_add_fence(job->bo[i]->resv, job->done_fence, in v3d_attach_fences_and_unlock_reservation() 850 ret = v3d_job_init(v3d, file_priv, (void *)&job, sizeof(*job), in v3d_submit_tfu_ioctl() [all …]
|
/linux-6.3-rc2/block/ |
A D | bsg-lib.c | 31 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.3-rc2/drivers/accel/ivpu/ |
A D | ivpu_job.c | 254 *link = job; in job_get() 273 kfree(job); in job_release() 301 if (!job) in ivpu_create_job() 319 return job; in ivpu_create_job() 322 kfree(job); in ivpu_create_job() 333 if (!job) in ivpu_job_done() 343 job->job_id, job->file_priv->ctx.id, job->engine_idx, job_status); in ivpu_job_done() 345 job_put(job); in ivpu_job_done() 392 job_get(job, &job); in ivpu_direct_job_submission() 404 job->job_id, job->cmd_buf_vpu_addr, file_priv->ctx.id, in ivpu_direct_job_submission() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/panfrost/ |
A D | panfrost_job.c | 161 WARN_ON(!job); in panfrost_dequeue_job() 165 return job; in panfrost_dequeue_job() 281 ret = drm_gem_lock_reservations(job->bos, job->bo_count, in panfrost_job_push() 291 ret = panfrost_acquire_object_fences(job->bos, job->bo_count, in panfrost_job_push() 304 panfrost_attach_object_fences(job->bos, job->bo_count, in panfrost_job_push() 340 kfree(job); in panfrost_job_cleanup() 370 if (!job->jc) in panfrost_job_run() 429 job->jc = 0; in panfrost_job_handle_err() 436 job->jc = 0; in panfrost_job_handle_err() 459 job->jc = 0; in panfrost_job_handle_done() [all …]
|
A D | panfrost_drv.c | 147 if (!job->bo_count) in panfrost_lookup_bos() 152 job->bo_count, &job->bos); in panfrost_lookup_bos() 156 job->mappings = kvmalloc_array(job->bo_count, in panfrost_lookup_bos() 159 if (!job->mappings) in panfrost_lookup_bos() 248 struct panfrost_job *job; in panfrost_ioctl_submit() local 263 job = kzalloc(sizeof(*job), GFP_KERNEL); in panfrost_ioctl_submit() 264 if (!job) { in panfrost_ioctl_submit() 269 kref_init(&job->refcount); in panfrost_ioctl_submit() 271 job->pfdev = pfdev; in panfrost_ioctl_submit() 272 job->jc = args->jc; in panfrost_ioctl_submit() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/ |
A D | drm_writeback.c | 325 job->prepared = true; in drm_writeback_prepare_job() 352 struct drm_writeback_job *job; in drm_writeback_queue_job() local 373 if (job->fb) in drm_writeback_cleanup_job() 374 drm_framebuffer_put(job->fb); in drm_writeback_cleanup_job() 376 if (job->out_fence) in drm_writeback_cleanup_job() 379 kfree(job); in drm_writeback_cleanup_job() 427 if (job) in drm_writeback_signal_completion() 428 list_del(&job->list_entry); in drm_writeback_signal_completion() 432 if (WARN_ON(!job)) in drm_writeback_signal_completion() 435 out_fence = job->out_fence; in drm_writeback_signal_completion() [all …]
|
/linux-6.3-rc2/drivers/scsi/lpfc/ |
A D | lpfc_bsg.c | 309 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp() 332 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp() 366 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp() 572 if (job) { in lpfc_bsg_rport_els_cmp() 594 if (job) { in lpfc_bsg_rport_els_cmp() 629 if (job) { in lpfc_bsg_rport_els_cmp() 1374 if (job) { in lpfc_issue_ct_rsp_cmp() 1394 if (job) { in lpfc_issue_ct_rsp_cmp() 1426 if (job) { in lpfc_issue_ct_rsp_cmp() 3643 if (!job) in lpfc_bsg_issue_read_mbox_ext_cmpl() [all …]
|
/linux-6.3-rc2/drivers/gpu/drm/tegra/ |
A D | submit.c | 399 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.3-rc2/drivers/gpu/drm/scheduler/ |
A D | sched_main.c | 390 if (job) { in drm_sched_job_timedout() 399 status = job->sched->ops->timedout_job(job); in drm_sched_job_timedout() 406 job->sched->ops->free_job(job); in drm_sched_job_timedout() 634 if (!job->s_fence) in drm_sched_job_init() 667 job->sched = sched; in drm_sched_job_arm() 671 drm_sched_fence_init(job->s_fence, job->entity); in drm_sched_job_arm() 806 job->s_fence = NULL; in drm_sched_job_cleanup() 887 if (job && dma_fence_is_signaled(&job->s_fence->finished)) { in drm_sched_get_cleanup_job() 904 job = NULL; in drm_sched_get_cleanup_job() 909 if (job) { in drm_sched_get_cleanup_job() [all …]
|
A D | sched_entity.c | 145 struct drm_sched_job *job = container_of(wrk, typeof(*job), work); in drm_sched_entity_kill_jobs_work() local 147 drm_sched_fence_finished(job->s_fence); in drm_sched_entity_kill_jobs_work() 148 WARN_ON(job->s_fence->parent); in drm_sched_entity_kill_jobs_work() 149 job->sched->ops->free_job(job); in drm_sched_entity_kill_jobs_work() 164 f = xa_erase(&job->dependencies, job->last_dependency++); in drm_sched_entity_kill_jobs_cb() 174 schedule_work(&job->work); in drm_sched_entity_kill_jobs_cb() 180 struct drm_sched_job *job; in drm_sched_entity_kill() local 397 if (!xa_empty(&job->dependencies)) in drm_sched_job_dependency() 398 return xa_erase(&job->dependencies, job->last_dependency++); in drm_sched_job_dependency() 400 if (job->sched->ops->prepare_job) in drm_sched_job_dependency() [all …]
|
/linux-6.3-rc2/drivers/ufs/core/ |
A D | ufs_bsg.c | 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() 70 struct ufs_rpmb_reply *rpmb_reply = job->reply; in ufs_bsg_exec_advanced_rpmb_req() 108 payload = &job->request_payload; in ufs_bsg_exec_advanced_rpmb_req() 133 static int ufs_bsg_request(struct bsg_job *job) in ufs_bsg_request() argument 135 struct ufs_bsg_request *bsg_request = job->request; in ufs_bsg_request() 136 struct ufs_bsg_reply *bsg_reply = job->reply; in ufs_bsg_request() 168 job->request_payload.sg_cnt, in ufs_bsg_request() [all …]
|
/linux-6.3-rc2/drivers/accel/habanalabs/common/ |
A D | hw_queue.c | 286 cb = job->patched_cb; in ext_queue_schedule_job() 287 len = job->job_cb_size; 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() 386 len = job->job_cb_size; in hw_queue_schedule_job() 394 if (job->patched_cb) in hw_queue_schedule_job() 412 q_idx = job->hw_queue_id; in init_signal_cs() 471 q_idx = job->hw_queue_id; in init_wait_cs() 551 struct hl_cs_job *job; in init_signal_wait_cs() local 631 struct hl_cs_job *job, *tmp; in hl_hw_queue_schedule_cs() local [all …]
|
/linux-6.3-rc2/drivers/scsi/libsas/ |
A D | sas_host_smp.c | 233 if (job->request_payload.payload_len < 8 || in sas_smp_host_handler() 234 job->reply_payload.payload_len < 8) in sas_smp_host_handler() 242 job->request_payload.sg_cnt, req_data, in sas_smp_host_handler() 243 job->request_payload.payload_len); in sas_smp_host_handler() 282 if (job->request_payload.payload_len < 16) in sas_smp_host_handler() 294 if (job->request_payload.payload_len < 16) in sas_smp_host_handler() 309 if (job->request_payload.payload_len < in sas_smp_host_handler() 326 if (job->request_payload.payload_len < 44) in sas_smp_host_handler() 344 job->reply_payload.sg_cnt, resp_data, in sas_smp_host_handler() 345 job->reply_payload.payload_len); in sas_smp_host_handler() [all …]
|
/linux-6.3-rc2/Documentation/devicetree/bindings/powerpc/fsl/ |
A D | raideng.txt | 30 There must be a sub-node for each job queue present in RAID Engine 34 This identifies the job queue interface 35 - reg: offset and length of the register set for job queue 42 compatible = "fsl,raideng-v1.0-job-queue"; 48 There must be a sub-node for each job ring present in RAID Engine 49 This node must be a sub-node of job queue node 51 - compatible: Must contain "fsl,raideng-v1.0-job-ring" as the value 52 This identifies job ring. Should contain either 55 - reg: offset and length of the register set for job ring 56 - interrupts: interrupt mapping for job ring IRQ [all …]
|