/Linux-v5.4/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_job.c | 34 struct amdgpu_job *job = to_amdgpu_job(s_job); in amdgpu_job_timedout() local 39 if (amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { in amdgpu_job_timedout() 45 amdgpu_vm_get_task_info(ring->adev, job->pasid, &ti); in amdgpu_job_timedout() 47 job->base.sched->name, atomic_read(&ring->fence_drv.last_seq), in amdgpu_job_timedout() 53 amdgpu_device_gpu_recover(ring->adev, job); in amdgpu_job_timedout() 59 struct amdgpu_job **job, struct amdgpu_vm *vm) in amdgpu_job_alloc() argument 68 *job = kzalloc(size, GFP_KERNEL); in amdgpu_job_alloc() 69 if (!*job) in amdgpu_job_alloc() 76 (*job)->base.sched = &adev->rings[0]->sched; in amdgpu_job_alloc() 77 (*job)->vm = vm; in amdgpu_job_alloc() [all …]
|
D | amdgpu_ib.c | 123 struct amdgpu_ib *ibs, struct amdgpu_job *job, in amdgpu_ib_schedule() argument 144 if (job) { in amdgpu_ib_schedule() 145 vm = job->vm; in amdgpu_ib_schedule() 146 fence_ctx = job->base.s_fence ? in amdgpu_ib_schedule() 147 job->base.s_fence->scheduled.context : 0; in amdgpu_ib_schedule() 158 if (vm && !job->vmid) { in amdgpu_ib_schedule() 173 if (ring->funcs->emit_pipeline_sync && job && in amdgpu_ib_schedule() 174 ((tmp = amdgpu_sync_get_fence(&job->sched_sync, NULL)) || in amdgpu_ib_schedule() 176 amdgpu_vm_need_pipeline_sync(ring, job))) { in amdgpu_ib_schedule() 180 trace_amdgpu_ib_pipe_sync(job, tmp); in amdgpu_ib_schedule() [all …]
|
D | amdgpu_job.h | 38 #define AMDGPU_JOB_GET_VMID(job) ((job) ? (job)->vmid : 0) argument 69 struct amdgpu_job **job, struct amdgpu_vm *vm); 71 struct amdgpu_job **job); 73 void amdgpu_job_free_resources(struct amdgpu_job *job); 74 void amdgpu_job_free(struct amdgpu_job *job); 75 int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity, 77 int amdgpu_job_submit_direct(struct amdgpu_job *job, struct amdgpu_ring *ring,
|
D | amdgpu_trace.h | 35 #define AMDGPU_JOB_GET_TIMELINE_NAME(job) \ argument 36 job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished) 155 __entry->dw = p->job->ibs[i].length_dw; 165 TP_PROTO(struct amdgpu_job *job), 166 TP_ARGS(job), 169 __string(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job)) 178 __entry->sched_job_id = job->base.id; 179 __assign_str(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job)) 180 __entry->context = job->base.s_fence->finished.context; 181 __entry->seqno = job->base.s_fence->finished.seqno; [all …]
|
D | amdgpu_vm_sdma.c | 67 r = amdgpu_job_alloc_with_ib(p->adev, ndw * 4, &p->job); in amdgpu_vm_sdma_prepare() 71 r = amdgpu_sync_fence(p->adev, &p->job->sync, exclusive, false); in amdgpu_vm_sdma_prepare() 75 r = amdgpu_sync_resv(p->adev, &p->job->sync, root->tbo.base.resv, in amdgpu_vm_sdma_prepare() 97 struct amdgpu_ib *ib = p->job->ibs; in amdgpu_vm_sdma_commit() 107 r = amdgpu_job_submit(p->job, &p->vm->entity, in amdgpu_vm_sdma_commit() 119 amdgpu_job_free(p->job); in amdgpu_vm_sdma_commit() 138 struct amdgpu_ib *ib = p->job->ibs; in amdgpu_vm_sdma_copy_ptes() 168 struct amdgpu_ib *ib = p->job->ibs; in amdgpu_vm_sdma_set_ptes() 206 ndw -= p->job->ibs->length_dw; in amdgpu_vm_sdma_update() 220 r = amdgpu_job_alloc_with_ib(p->adev, ndw * 4, &p->job); in amdgpu_vm_sdma_update() [all …]
|
/Linux-v5.4/drivers/md/ |
D | dm-kcopyd.c | 414 struct kcopyd_job *job; in pop_io_job() local 420 list_for_each_entry(job, jobs, list) { in pop_io_job() 421 if (job->rw == READ || !test_bit(DM_KCOPYD_WRITE_SEQ, &job->flags)) { in pop_io_job() 422 list_del(&job->list); in pop_io_job() 423 return job; in pop_io_job() 426 if (job->write_offset == job->master_job->write_offset) { in pop_io_job() 427 job->master_job->write_offset += job->source.count; in pop_io_job() 428 list_del(&job->list); in pop_io_job() 429 return job; in pop_io_job() 439 struct kcopyd_job *job = NULL; in pop() local [all …]
|
/Linux-v5.4/drivers/gpu/host1x/ |
D | job.c | 28 struct host1x_job *job = NULL; in host1x_job_alloc() local 43 mem = job = kzalloc(total, GFP_KERNEL); in host1x_job_alloc() 44 if (!job) in host1x_job_alloc() 47 kref_init(&job->ref); in host1x_job_alloc() 48 job->channel = ch; in host1x_job_alloc() 52 job->relocs = num_relocs ? mem : NULL; in host1x_job_alloc() 54 job->unpins = num_unpins ? mem : NULL; in host1x_job_alloc() 56 job->gathers = num_cmdbufs ? mem : NULL; in host1x_job_alloc() 58 job->addr_phys = num_unpins ? mem : NULL; in host1x_job_alloc() 60 job->reloc_addr_phys = job->addr_phys; in host1x_job_alloc() [all …]
|
D | cdma.c | 274 struct host1x_job *job) in cdma_start_timer_locked() argument 283 cdma->timeout.client = job->client; in cdma_start_timer_locked() 284 cdma->timeout.syncpt = host1x_syncpt_get(host, job->syncpt_id); in cdma_start_timer_locked() 285 cdma->timeout.syncpt_val = job->syncpt_end; in cdma_start_timer_locked() 289 msecs_to_jiffies(job->timeout)); in cdma_start_timer_locked() 316 struct host1x_job *job, *n; in update_cdma_locked() local 326 list_for_each_entry_safe(job, n, &cdma->sync_queue, list) { in update_cdma_locked() 328 host1x_syncpt_get(host1x, job->syncpt_id); in update_cdma_locked() 331 if (!host1x_syncpt_is_expired(sp, job->syncpt_end)) { in update_cdma_locked() 333 if (job->timeout) in update_cdma_locked() [all …]
|
/Linux-v5.4/block/ |
D | bsg-lib.c | 39 struct bsg_job *job = blk_mq_rq_to_pdu(rq); in bsg_transport_fill_hdr() local 42 job->request_len = hdr->request_len; in bsg_transport_fill_hdr() 43 job->request = memdup_user(uptr64(hdr->request), hdr->request_len); in bsg_transport_fill_hdr() 44 if (IS_ERR(job->request)) in bsg_transport_fill_hdr() 45 return PTR_ERR(job->request); in bsg_transport_fill_hdr() 48 job->bidi_rq = blk_get_request(rq->q, REQ_OP_SCSI_IN, 0); in bsg_transport_fill_hdr() 49 if (IS_ERR(job->bidi_rq)) { in bsg_transport_fill_hdr() 50 ret = PTR_ERR(job->bidi_rq); in bsg_transport_fill_hdr() 54 ret = blk_rq_map_user(rq->q, job->bidi_rq, NULL, in bsg_transport_fill_hdr() 60 job->bidi_bio = job->bidi_rq->bio; in bsg_transport_fill_hdr() [all …]
|
/Linux-v5.4/drivers/gpu/drm/v3d/ |
D | v3d_sched.c | 60 struct v3d_job *job = to_v3d_job(sched_job); in v3d_job_free() local 63 v3d_job_put(job); in v3d_job_free() 76 struct v3d_job *job = to_v3d_job(sched_job); in v3d_job_dependency() local 82 if (!xa_empty(&job->deps)) in v3d_job_dependency() 83 return xa_erase(&job->deps, job->last_dep++); in v3d_job_dependency() 90 struct v3d_bin_job *job = to_bin_job(sched_job); in v3d_bin_job_run() local 91 struct v3d_dev *v3d = job->base.v3d; in v3d_bin_job_run() 96 if (unlikely(job->base.base.s_fence->finished.error)) in v3d_bin_job_run() 103 v3d->bin_job = job; in v3d_bin_job_run() 116 if (job->base.irq_fence) in v3d_bin_job_run() [all …]
|
D | v3d_gem.c | 250 v3d_lock_bo_reservations(struct v3d_job *job, in v3d_lock_bo_reservations() argument 255 ret = drm_gem_lock_reservations(job->bo, job->bo_count, acquire_ctx); in v3d_lock_bo_reservations() 259 for (i = 0; i < job->bo_count; i++) { in v3d_lock_bo_reservations() 260 ret = drm_gem_fence_array_add_implicit(&job->deps, in v3d_lock_bo_reservations() 261 job->bo[i], true); in v3d_lock_bo_reservations() 263 drm_gem_unlock_reservations(job->bo, job->bo_count, in v3d_lock_bo_reservations() 289 struct v3d_job *job, in v3d_lookup_bos() argument 297 job->bo_count = bo_count; in v3d_lookup_bos() 299 if (!job->bo_count) { in v3d_lookup_bos() 307 job->bo = kvmalloc_array(job->bo_count, in v3d_lookup_bos() [all …]
|
/Linux-v5.4/drivers/gpu/drm/panfrost/ |
D | panfrost_job.c | 102 static int panfrost_job_get_slot(struct panfrost_job *job) in panfrost_job_get_slot() argument 108 if (job->requirements & PANFROST_JD_REQ_FS) in panfrost_job_get_slot() 113 if (job->requirements & PANFROST_JD_REQ_ONLY_COMPUTE) { in panfrost_job_get_slot() 114 if ((job->requirements & PANFROST_JD_REQ_CORE_GRP_MASK) && in panfrost_job_get_slot() 115 (job->pfdev->features.nr_core_groups == 2)) in panfrost_job_get_slot() 117 if (panfrost_has_hw_issue(job->pfdev, HW_ISSUE_8987)) in panfrost_job_get_slot() 141 static void panfrost_job_hw_submit(struct panfrost_job *job, int js) in panfrost_job_hw_submit() argument 143 struct panfrost_device *pfdev = job->pfdev; in panfrost_job_hw_submit() 145 u64 jc_head = job->jc; in panfrost_job_hw_submit() 157 cfg = panfrost_mmu_as_get(pfdev, &job->file_priv->mmu); in panfrost_job_hw_submit() [all …]
|
D | panfrost_drv.c | 120 struct panfrost_job *job) in panfrost_lookup_bos() argument 122 job->bo_count = args->bo_handle_count; in panfrost_lookup_bos() 124 if (!job->bo_count) in panfrost_lookup_bos() 127 job->implicit_fences = kvmalloc_array(job->bo_count, in panfrost_lookup_bos() 130 if (!job->implicit_fences) in panfrost_lookup_bos() 135 job->bo_count, &job->bos); in panfrost_lookup_bos() 155 struct panfrost_job *job) in panfrost_copy_in_sync() argument 161 job->in_fence_count = args->in_sync_count; in panfrost_copy_in_sync() 163 if (!job->in_fence_count) in panfrost_copy_in_sync() 166 job->in_fences = kvmalloc_array(job->in_fence_count, in panfrost_copy_in_sync() [all …]
|
/Linux-v5.4/drivers/misc/habanalabs/ |
D | command_submission.c | 79 static int cs_parser(struct hl_fpriv *hpriv, struct hl_cs_job *job) in cs_parser() argument 85 parser.ctx_id = job->cs->ctx->asid; in cs_parser() 86 parser.cs_sequence = job->cs->sequence; in cs_parser() 87 parser.job_id = job->id; in cs_parser() 89 parser.hw_queue_id = job->hw_queue_id; in cs_parser() 90 parser.job_userptr_list = &job->userptr_list; in cs_parser() 92 parser.user_cb = job->user_cb; in cs_parser() 93 parser.user_cb_size = job->user_cb_size; in cs_parser() 94 parser.ext_queue = job->ext_queue; in cs_parser() 95 job->patched_cb = NULL; in cs_parser() [all …]
|
/Linux-v5.4/drivers/gpu/host1x/hw/ |
D | channel_hw.c | 50 static void submit_gathers(struct host1x_job *job) in submit_gathers() argument 52 struct host1x_cdma *cdma = &job->channel->cdma; in submit_gathers() 54 struct device *dev = job->channel->dev; in submit_gathers() 58 for (i = 0; i < job->num_gathers; i++) { in submit_gathers() 59 struct host1x_job_gather *g = &job->gathers[i]; in submit_gathers() 87 static inline void synchronize_syncpt_base(struct host1x_job *job) in synchronize_syncpt_base() argument 89 struct host1x *host = dev_get_drvdata(job->channel->dev->parent); in synchronize_syncpt_base() 90 struct host1x_syncpt *sp = host->syncpt + job->syncpt_id; in synchronize_syncpt_base() 97 host1x_cdma_push(&job->channel->cdma, in synchronize_syncpt_base() 118 static int channel_submit(struct host1x_job *job) in channel_submit() argument [all …]
|
D | debug_hw.c | 195 struct host1x_job *job; in show_channel_gathers() local 197 list_for_each_entry(job, &cdma->sync_queue, list) { in show_channel_gathers() 201 job, job->syncpt_id, job->syncpt_end, in show_channel_gathers() 202 job->first_get, job->timeout, in show_channel_gathers() 203 job->num_slots, job->num_unpins); in show_channel_gathers() 205 for (i = 0; i < job->num_gathers; i++) { in show_channel_gathers() 206 struct host1x_job_gather *g = &job->gathers[i]; in show_channel_gathers() 209 if (job->gather_copy_mapped) in show_channel_gathers() 210 mapped = (u32 *)job->gather_copy_mapped; in show_channel_gathers() 225 if (!job->gather_copy_mapped) in show_channel_gathers()
|
/Linux-v5.4/drivers/gpu/drm/ |
D | drm_writeback.c | 263 int drm_writeback_prepare_job(struct drm_writeback_job *job) in drm_writeback_prepare_job() argument 265 struct drm_writeback_connector *connector = job->connector; in drm_writeback_prepare_job() 271 ret = funcs->prepare_writeback_job(connector, job); in drm_writeback_prepare_job() 276 job->prepared = true; in drm_writeback_prepare_job() 303 struct drm_writeback_job *job; in drm_writeback_queue_job() local 306 job = conn_state->writeback_job; in drm_writeback_queue_job() 310 list_add_tail(&job->list_entry, &wb_connector->job_queue); in drm_writeback_queue_job() 315 void drm_writeback_cleanup_job(struct drm_writeback_job *job) in drm_writeback_cleanup_job() argument 317 struct drm_writeback_connector *connector = job->connector; in drm_writeback_cleanup_job() 321 if (job->prepared && funcs->cleanup_writeback_job) in drm_writeback_cleanup_job() [all …]
|
/Linux-v5.4/drivers/scsi/lpfc/ |
D | lpfc_bsg.c | 304 struct bsg_job *job; in lpfc_bsg_send_mgmt_cmd_cmp() local 318 job = dd_data->set_job; in lpfc_bsg_send_mgmt_cmd_cmp() 319 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp() 320 bsg_reply = job->reply; in lpfc_bsg_send_mgmt_cmd_cmp() 322 job->dd_data = NULL; in lpfc_bsg_send_mgmt_cmd_cmp() 340 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp() 360 lpfc_bsg_copy_data(rmp, &job->reply_payload, in lpfc_bsg_send_mgmt_cmd_cmp() 375 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp() 377 bsg_job_done(job, bsg_reply->result, in lpfc_bsg_send_mgmt_cmd_cmp() 388 lpfc_bsg_send_mgmt_cmd(struct bsg_job *job) in lpfc_bsg_send_mgmt_cmd() argument [all …]
|
/Linux-v5.4/drivers/scsi/ufs/ |
D | ufs_bsg.c | 43 static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job, in ufs_bsg_alloc_desc_buffer() argument 47 struct ufs_bsg_request *bsg_request = job->request; in ufs_bsg_alloc_desc_buffer() 61 if (*desc_len > job->request_payload.payload_len) { in ufs_bsg_alloc_desc_buffer() 71 sg_copy_to_buffer(job->request_payload.sg_list, in ufs_bsg_alloc_desc_buffer() 72 job->request_payload.sg_cnt, descp, in ufs_bsg_alloc_desc_buffer() 81 static int ufs_bsg_request(struct bsg_job *job) in ufs_bsg_request() argument 83 struct ufs_bsg_request *bsg_request = job->request; in ufs_bsg_request() 84 struct ufs_bsg_reply *bsg_reply = job->reply; in ufs_bsg_request() 85 struct ufs_hba *hba = shost_priv(dev_to_shost(job->dev->parent)); in ufs_bsg_request() 86 unsigned int req_len = job->request_len; in ufs_bsg_request() [all …]
|
/Linux-v5.4/drivers/scsi/libsas/ |
D | sas_host_smp.c | 225 void sas_smp_host_handler(struct bsg_job *job, struct Scsi_Host *shost) in sas_smp_host_handler() argument 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() 238 req_data = kzalloc(job->request_payload.payload_len, GFP_KERNEL); in sas_smp_host_handler() 241 sg_copy_to_buffer(job->request_payload.sg_list, 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() 247 resp_data = kzalloc(max(job->reply_payload.payload_len, 128U), 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() [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/powerpc/fsl/ |
D | raideng.txt | 30 There must be a sub-node for each job queue present in RAID Engine 33 - compatible: Should contain "fsl,raideng-v1.0-job-queue" as the value 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 [all …]
|
/Linux-v5.4/drivers/gpu/drm/scheduler/ |
D | sched_main.c | 283 struct drm_sched_job *job; in drm_sched_job_timedout() local 287 job = list_first_entry_or_null(&sched->ring_mirror_list, in drm_sched_job_timedout() 290 if (job) { in drm_sched_job_timedout() 291 job->sched->ops->timedout_job(job); in drm_sched_job_timedout() 298 job->sched->ops->free_job(job); in drm_sched_job_timedout() 522 int drm_sched_job_init(struct drm_sched_job *job, in drm_sched_job_init() argument 534 job->sched = sched; in drm_sched_job_init() 535 job->entity = entity; in drm_sched_job_init() 536 job->s_priority = entity->rq - sched->sched_rq; in drm_sched_job_init() 537 job->s_fence = drm_sched_fence_create(entity, owner); in drm_sched_job_init() [all …]
|
/Linux-v5.4/arch/powerpc/boot/dts/fsl/ |
D | qoriq-sec6.0-0.dtsi | 42 compatible = "fsl,sec-v6.0-job-ring", 43 "fsl,sec-v5.2-job-ring", 44 "fsl,sec-v5.0-job-ring", 45 "fsl,sec-v4.4-job-ring", 46 "fsl,sec-v4.0-job-ring"; 51 compatible = "fsl,sec-v6.0-job-ring", 52 "fsl,sec-v5.2-job-ring", 53 "fsl,sec-v5.0-job-ring", 54 "fsl,sec-v4.4-job-ring", 55 "fsl,sec-v4.0-job-ring";
|
/Linux-v5.4/drivers/media/platform/ |
D | rcar_fdp1.c | 655 struct fdp1_job *job; in list_remove_job() local 659 job = list_first_entry_or_null(list, struct fdp1_job, list); in list_remove_job() 660 if (job) in list_remove_job() 661 list_del(&job->list); in list_remove_job() 664 return job; in list_remove_job() 674 struct fdp1_job *job) in list_add_job() argument 679 list_add_tail(&job->list, list); in list_add_job() 688 static void fdp1_job_free(struct fdp1_dev *fdp1, struct fdp1_job *job) in fdp1_job_free() argument 691 memset(job, 0, sizeof(struct fdp1_job)); in fdp1_job_free() 693 list_add_job(fdp1, &fdp1->free_job_list, job); in fdp1_job_free() [all …]
|
/Linux-v5.4/drivers/gpu/drm/lima/ |
D | lima_sched.c | 98 static inline struct lima_sched_task *to_lima_task(struct drm_sched_job *job) in to_lima_task() argument 100 return container_of(job, struct lima_sched_task, base); in to_lima_task() 182 static struct dma_fence *lima_sched_dependency(struct drm_sched_job *job, in lima_sched_dependency() argument 185 struct lima_sched_task *task = to_lima_task(job); in lima_sched_dependency() 193 static struct dma_fence *lima_sched_run_job(struct drm_sched_job *job) in lima_sched_run_job() argument 195 struct lima_sched_task *task = to_lima_task(job); in lima_sched_run_job() 196 struct lima_sched_pipe *pipe = to_lima_pipe(job->sched); in lima_sched_run_job() 203 if (job->s_fence->finished.error < 0) in lima_sched_run_job() 287 static void lima_sched_timedout_job(struct drm_sched_job *job) in lima_sched_timedout_job() argument 289 struct lima_sched_pipe *pipe = to_lima_pipe(job->sched); in lima_sched_timedout_job() [all …]
|