job 39 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(rq); job 42 block/bsg-lib.c job->request_len = hdr->request_len; job 43 block/bsg-lib.c job->request = memdup_user(uptr64(hdr->request), hdr->request_len); job 44 block/bsg-lib.c if (IS_ERR(job->request)) job 45 block/bsg-lib.c return PTR_ERR(job->request); job 48 block/bsg-lib.c job->bidi_rq = blk_get_request(rq->q, REQ_OP_SCSI_IN, 0); job 49 block/bsg-lib.c if (IS_ERR(job->bidi_rq)) { job 50 block/bsg-lib.c ret = PTR_ERR(job->bidi_rq); job 54 block/bsg-lib.c ret = blk_rq_map_user(rq->q, job->bidi_rq, NULL, job 60 block/bsg-lib.c job->bidi_bio = job->bidi_rq->bio; job 62 block/bsg-lib.c job->bidi_rq = NULL; job 63 block/bsg-lib.c job->bidi_bio = NULL; job 69 block/bsg-lib.c if (job->bidi_rq) job 70 block/bsg-lib.c blk_put_request(job->bidi_rq); job 72 block/bsg-lib.c kfree(job->request); job 78 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(rq); job 85 block/bsg-lib.c hdr->device_status = job->result & 0xff; job 86 block/bsg-lib.c hdr->transport_status = host_byte(job->result); job 87 block/bsg-lib.c hdr->driver_status = driver_byte(job->result); job 93 block/bsg-lib.c if (job->result < 0) { job 95 block/bsg-lib.c job->reply_len = sizeof(u32); job 96 block/bsg-lib.c ret = job->result; job 99 block/bsg-lib.c if (job->reply_len && hdr->response) { job 100 block/bsg-lib.c int len = min(hdr->max_response_len, job->reply_len); job 102 block/bsg-lib.c if (copy_to_user(uptr64(hdr->response), job->reply, len)) job 111 block/bsg-lib.c if (job->bidi_rq) { job 112 block/bsg-lib.c unsigned int rsp_len = job->reply_payload.payload_len; job 114 block/bsg-lib.c if (WARN_ON(job->reply_payload_rcv_len > rsp_len)) job 117 block/bsg-lib.c hdr->din_resid = rsp_len - job->reply_payload_rcv_len; job 127 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(rq); job 129 block/bsg-lib.c if (job->bidi_rq) { job 130 block/bsg-lib.c blk_rq_unmap_user(job->bidi_bio); job 131 block/bsg-lib.c blk_put_request(job->bidi_rq); job 134 block/bsg-lib.c kfree(job->request); job 150 block/bsg-lib.c struct bsg_job *job = container_of(kref, struct bsg_job, kref); job 151 block/bsg-lib.c struct request *rq = blk_mq_rq_from_pdu(job); job 153 block/bsg-lib.c put_device(job->dev); /* release reference for the request */ job 155 block/bsg-lib.c kfree(job->request_payload.sg_list); job 156 block/bsg-lib.c kfree(job->reply_payload.sg_list); job 161 block/bsg-lib.c void bsg_job_put(struct bsg_job *job) job 163 block/bsg-lib.c kref_put(&job->kref, bsg_teardown_job); job 167 block/bsg-lib.c int bsg_job_get(struct bsg_job *job) job 169 block/bsg-lib.c return kref_get_unless_zero(&job->kref); job 181 block/bsg-lib.c void bsg_job_done(struct bsg_job *job, int result, job 184 block/bsg-lib.c job->result = result; job 185 block/bsg-lib.c job->reply_payload_rcv_len = reply_payload_rcv_len; job 186 block/bsg-lib.c blk_mq_complete_request(blk_mq_rq_from_pdu(job)); job 196 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(rq); job 198 block/bsg-lib.c bsg_job_put(job); job 223 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(req); job 226 block/bsg-lib.c job->timeout = req->timeout; job 229 block/bsg-lib.c ret = bsg_map_buffer(&job->request_payload, req); job 233 block/bsg-lib.c if (job->bidi_rq) { job 234 block/bsg-lib.c ret = bsg_map_buffer(&job->reply_payload, job->bidi_rq); job 238 block/bsg-lib.c job->dev = dev; job 240 block/bsg-lib.c get_device(job->dev); job 241 block/bsg-lib.c kref_init(&job->kref); job 245 block/bsg-lib.c kfree(job->request_payload.sg_list); job 247 block/bsg-lib.c job->result = -ENOMEM; job 293 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(req); job 295 block/bsg-lib.c job->reply = kzalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL); job 296 block/bsg-lib.c if (!job->reply) job 304 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(req); job 305 block/bsg-lib.c void *reply = job->reply; job 307 block/bsg-lib.c memset(job, 0, sizeof(*job)); job 308 block/bsg-lib.c job->reply = reply; job 309 block/bsg-lib.c job->reply_len = SCSI_SENSE_BUFFERSIZE; job 310 block/bsg-lib.c job->dd_data = job + 1; job 316 block/bsg-lib.c struct bsg_job *job = blk_mq_rq_to_pdu(req); job 318 block/bsg-lib.c kfree(job->reply); job 435 drivers/gpu/drm/amd/amdgpu/amdgpu.h struct amdgpu_ib *ibs, struct amdgpu_job *job, job 466 drivers/gpu/drm/amd/amdgpu/amdgpu.h struct amdgpu_job *job; job 492 drivers/gpu/drm/amd/amdgpu/amdgpu.h return p->job->ibs[ib_idx].ptr[idx]; job 499 drivers/gpu/drm/amd/amdgpu/amdgpu.h p->job->ibs[ib_idx].ptr[idx] = value; job 1160 drivers/gpu/drm/amd/amdgpu/amdgpu.h struct amdgpu_job* job); job 605 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c struct amdgpu_job *job; job 627 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c ret = amdgpu_job_alloc(adev, 1, &job, NULL); job 631 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c ib = &job->ibs[0]; job 638 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c job->vmid = vmid; job 640 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c ret = amdgpu_ib_schedule(ring, 1, ib, job, &f); job 650 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c amdgpu_job_free(job); job 229 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ret = amdgpu_job_alloc(p->adev, num_ibs, &p->job, vm); job 233 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if (p->ctx->vram_lost_counter != p->job->vram_lost_counter) { job 239 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->uf_addr = uf_offset; job 696 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->gds_base = amdgpu_bo_gpu_offset(gds) >> PAGE_SHIFT; job 697 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->gds_size = amdgpu_bo_size(gds) >> PAGE_SHIFT; job 700 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->gws_base = amdgpu_bo_gpu_offset(gws) >> PAGE_SHIFT; job 701 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->gws_size = amdgpu_bo_size(gws) >> PAGE_SHIFT; job 704 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->oa_base = amdgpu_bo_gpu_offset(oa) >> PAGE_SHIFT; job 705 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->oa_size = amdgpu_bo_size(oa) >> PAGE_SHIFT; job 712 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->uf_addr += amdgpu_bo_gpu_offset(uf); job 731 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_resv(p->adev, &p->job->sync, resv, p->filp, job 775 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if (parser->job) job 776 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_job_free(parser->job); job 799 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c for (i = 0, j = 0; i < p->nchunks && j < p->job->num_ibs; i++) { job 809 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ib = &p->job->ibs[j]; job 856 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if (!p->job->vm) job 868 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_fence(adev, &p->job->sync, job 883 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_fence(adev, &p->job->sync, f, false); job 905 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_fence(adev, &p->job->sync, f, false); job 918 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_fence(adev, &p->job->sync, vm->last_update, false); job 922 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job->vm_pd_addr = amdgpu_gmc_pd_addr(vm->root.base.bo); job 949 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c for (i = 0, j = 0; i < parser->nchunks && j < parser->job->num_ibs; i++) { job 956 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ib = &parser->job->ibs[j]; job 983 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c parser->job->preamble_status |= job 1008 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if (parser->job->uf_addr && ring->funcs->no_user_fence) job 1060 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_fence(p->adev, &p->job->sync, fence, true); job 1082 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = amdgpu_sync_fence(p->adev, &p->job->sync, fence, true); job 1279 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c struct amdgpu_job *job; job 1283 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c job = p->job; job 1284 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->job = NULL; job 1286 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c r = drm_sched_job_init(&job->base, entity, p->filp); job 1309 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c job->owner = p->filp; job 1310 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c p->fence = dma_fence_get(&job->base.s_fence->finished); job 1315 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c if ((job->preamble_status & AMDGPU_PREAMBLE_IB_PRESENT) && job 1317 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c job->preamble_status |= AMDGPU_PREAMBLE_IB_PRESENT_FIRST; job 1322 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c job->uf_sequence = seq; job 1324 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_job_free_resources(job); job 1326 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c trace_amdgpu_cs_ioctl(job); job 1328 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c priority = job->base.s_priority; job 1329 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c drm_sched_entity_push_job(&job->base, entity); job 1342 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c drm_sched_job_cleanup(&job->base); job 1346 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c amdgpu_job_free(job); job 1391 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c for (i = 0; i < parser.job->num_ibs; i++) job 992 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c struct amdgpu_job *job; job 1012 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c job = to_amdgpu_job(s_job); job 1013 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c if (job->fence == fence) job 1015 drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c job->preemption_status |= AMDGPU_IB_PREEMPTED; job 3552 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c struct amdgpu_job *job, job 3569 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c if(job) job 3570 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c drm_sched_increase_karma(&job->base); job 3775 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c struct amdgpu_job *job) job 3802 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c job ? job->base.id : -1, hive->hive_id); job 3809 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c job ? job->base.id : -1); job 3850 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c drm_sched_stop(&ring->sched, job ? &job->base : NULL); job 3861 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c if (job && job->base.s_fence->parent && job 3862 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c dma_fence_is_signaled(job->base.s_fence->parent)) job 3875 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c r = amdgpu_device_pre_asic_reset(adev, job, &need_full_reset); job 3904 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c r = amdgpu_device_reset_sriov(adev, job ? false : true); job 123 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c struct amdgpu_ib *ibs, struct amdgpu_job *job, job 144 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (job) { job 145 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c vm = job->vm; job 146 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c fence_ctx = job->base.s_fence ? job 147 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c job->base.s_fence->scheduled.context : 0; job 158 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (vm && !job->vmid) { job 173 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (ring->funcs->emit_pipeline_sync && job && job 174 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c ((tmp = amdgpu_sync_get_fence(&job->sched_sync, NULL)) || job 176 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c amdgpu_vm_need_pipeline_sync(ring, job))) { job 180 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c trace_amdgpu_ib_pipe_sync(job, tmp); job 188 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (job) { job 189 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c r = amdgpu_vm_flush(ring, job, need_pipe_sync); job 196 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (job && ring->funcs->init_cond_exec) job 213 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (job && ring->funcs->emit_cntxcntl) { job 214 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c status |= job->preamble_status; job 215 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c status |= job->preemption_status; job 230 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c amdgpu_ring_emit_ib(ring, job, ib, status); job 246 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (job && job->uf_addr) { job 247 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c amdgpu_ring_emit_fence(ring, job->uf_addr, job->uf_sequence, job 254 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c if (job && job->vmid) job 255 drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c amdgpu_vmid_reset(adev, ring->funcs->vmhub, job->vmid); job 269 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c struct amdgpu_job *job, job 286 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->vm_pd_addr != (*id)->pd_gpu_addr || job 314 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->vm_needs_flush = needs_flush; job 334 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c struct amdgpu_job *job, job 344 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->vm_needs_flush = vm->use_cpu_for_update; job 355 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c if ((*id)->pd_gpu_addr != job->vm_pd_addr) job 387 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->vm_needs_flush |= needs_flush; job 408 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c struct amdgpu_job *job) job 423 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c r = amdgpu_vmid_grab_reserved(vm, ring, sync, fence, job, &id); job 427 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c r = amdgpu_vmid_grab_used(vm, ring, sync, fence, job, &id); job 445 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->vm_needs_flush = true; job 451 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c id->pd_gpu_addr = job->vm_pd_addr; job 454 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c if (job->vm_needs_flush) { job 458 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->vmid = id - id_mgr->ids; job 459 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c job->pasid = vm->pasid; job 460 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.c trace_amdgpu_vm_grab_id(vm, ring, job); job 88 drivers/gpu/drm/amd/amdgpu/amdgpu_ids.h struct amdgpu_job *job); job 34 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_job *job = to_amdgpu_job(s_job); job 39 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c if (amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) { job 45 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_vm_get_task_info(ring->adev, job->pasid, &ti); job 47 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job->base.sched->name, atomic_read(&ring->fence_drv.last_seq), job 53 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_device_gpu_recover(ring->adev, job); job 59 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_job **job, struct amdgpu_vm *vm) job 68 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c *job = kzalloc(size, GFP_KERNEL); job 69 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c if (!*job) job 76 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c (*job)->base.sched = &adev->rings[0]->sched; job 77 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c (*job)->vm = vm; job 78 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c (*job)->ibs = (void *)&(*job)[1]; job 79 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c (*job)->num_ibs = num_ibs; job 81 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_sync_create(&(*job)->sync); job 82 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_sync_create(&(*job)->sched_sync); job 83 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c (*job)->vram_lost_counter = atomic_read(&adev->vram_lost_counter); job 84 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c (*job)->vm_pd_addr = AMDGPU_BO_INVALID_OFFSET; job 90 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_job **job) job 94 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = amdgpu_job_alloc(adev, 1, job, NULL); job 98 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = amdgpu_ib_get(adev, NULL, size, &(*job)->ibs[0]); job 100 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c kfree(*job); job 105 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c void amdgpu_job_free_resources(struct amdgpu_job *job) job 107 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_ring *ring = to_amdgpu_ring(job->base.sched); job 112 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c f = job->base.s_fence ? &job->base.s_fence->finished : job->fence; job 114 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c for (i = 0; i < job->num_ibs; ++i) job 115 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_ib_free(ring->adev, &job->ibs[i], f); job 121 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_job *job = to_amdgpu_job(s_job); job 126 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c dma_fence_put(job->fence); job 127 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_sync_free(&job->sync); job 128 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_sync_free(&job->sched_sync); job 129 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c kfree(job); job 132 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c void amdgpu_job_free(struct amdgpu_job *job) job 134 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_job_free_resources(job); job 136 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c dma_fence_put(job->fence); job 137 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_sync_free(&job->sync); job 138 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_sync_free(&job->sched_sync); job 139 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c kfree(job); job 142 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity, job 152 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = drm_sched_job_init(&job->base, entity, owner); job 156 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job->owner = owner; job 157 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c *f = dma_fence_get(&job->base.s_fence->finished); job 158 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_job_free_resources(job); job 159 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c priority = job->base.s_priority; job 160 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c drm_sched_entity_push_job(&job->base, entity); job 168 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c int amdgpu_job_submit_direct(struct amdgpu_job *job, struct amdgpu_ring *ring, job 173 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job->base.sched = &ring->sched; job 174 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = amdgpu_ib_schedule(ring, job->num_ibs, job->ibs, NULL, fence); job 175 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job->fence = dma_fence_get(*fence); job 179 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_job_free(job); job 187 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_job *job = to_amdgpu_job(sched_job); job 188 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_vm *vm = job->vm; job 193 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c fence = amdgpu_sync_get_fence(&job->sync, &explicit); job 196 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = amdgpu_sync_fence(ring->adev, &job->sched_sync, job 203 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c while (fence == NULL && vm && !job->vmid) { job 204 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = amdgpu_vmid_grab(vm, ring, &job->sync, job 205 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c &job->base.s_fence->finished, job 206 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job); job 210 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c fence = amdgpu_sync_get_fence(&job->sync, NULL); job 220 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c struct amdgpu_job *job; job 223 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job = to_amdgpu_job(sched_job); job 224 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c finished = &job->base.s_fence->finished; job 226 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c BUG_ON(amdgpu_sync_peek_fence(&job->sync, NULL)); job 228 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c trace_amdgpu_sched_run_job(job); job 230 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c if (job->vram_lost_counter != atomic_read(&ring->adev->vram_lost_counter)) job 236 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c r = amdgpu_ib_schedule(ring, job->num_ibs, job->ibs, job, job 242 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c dma_fence_put(job->fence); job 243 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c job->fence = dma_fence_get(fence); job 245 drivers/gpu/drm/amd/amdgpu/amdgpu_job.c amdgpu_job_free_resources(job); job 38 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h #define AMDGPU_JOB_GET_VMID(job) ((job) ? (job)->vmid : 0) job 69 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h struct amdgpu_job **job, struct amdgpu_vm *vm); job 71 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h struct amdgpu_job **job); job 73 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h void amdgpu_job_free_resources(struct amdgpu_job *job); job 74 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h void amdgpu_job_free(struct amdgpu_job *job); job 75 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h int amdgpu_job_submit(struct amdgpu_job *job, struct drm_sched_entity *entity, job 77 drivers/gpu/drm/amd/amdgpu/amdgpu_job.h int amdgpu_job_submit_direct(struct amdgpu_job *job, struct amdgpu_ring *ring, job 133 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h struct amdgpu_job *job, job 238 drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h #define amdgpu_ring_emit_ib(r, job, ib, flags) ((r)->funcs->emit_ib((r), (job), (ib), (flags))) job 35 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h #define AMDGPU_JOB_GET_TIMELINE_NAME(job) \ job 36 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished) job 155 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->dw = p->job->ibs[i].length_dw; job 165 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h TP_PROTO(struct amdgpu_job *job), job 166 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h TP_ARGS(job), job 169 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __string(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job)) job 173 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __string(ring, to_amdgpu_ring(job->base.sched)->name) job 178 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->sched_job_id = job->base.id; job 179 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __assign_str(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job)) job 180 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->context = job->base.s_fence->finished.context; job 181 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->seqno = job->base.s_fence->finished.seqno; job 182 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __assign_str(ring, to_amdgpu_ring(job->base.sched)->name) job 183 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->num_ibs = job->num_ibs; job 191 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h TP_PROTO(struct amdgpu_job *job), job 192 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h TP_ARGS(job), job 195 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __string(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job)) job 198 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __string(ring, to_amdgpu_ring(job->base.sched)->name) job 203 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->sched_job_id = job->base.id; job 204 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __assign_str(timeline, AMDGPU_JOB_GET_TIMELINE_NAME(job)) job 205 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->context = job->base.s_fence->finished.context; job 206 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->seqno = job->base.s_fence->finished.seqno; job 207 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __assign_str(ring, to_amdgpu_ring(job->base.sched)->name) job 208 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->num_ibs = job->num_ibs; job 218 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h struct amdgpu_job *job), job 219 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h TP_ARGS(vm, ring, job), job 233 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->vmid = job->vmid; job 235 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->pd_addr = job->vm_pd_addr; job 236 drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h __entry->needs_flush = job->vm_needs_flush; job 1906 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c struct amdgpu_job *job; job 1927 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_alloc_with_ib(adev, num_dw * 4 + num_bytes, &job); job 1932 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c src_addr += job->ibs[0].gpu_addr; job 1936 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_addr, job 1939 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_ring_pad_ib(ring, &job->ibs[0]); job 1940 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c WARN_ON(job->ibs[0].length_dw > num_dw); job 1945 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c &job->ibs[0].ptr[num_dw]); job 1949 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_submit(job, &adev->mman.entity, job 1959 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_job_free(job); job 1970 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c struct amdgpu_job *job; job 1990 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_alloc_with_ib(adev, num_dw * 4, &job); job 1995 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c job->vm_pd_addr = amdgpu_gmc_pd_addr(adev->gart.bo); job 1996 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c job->vm_needs_flush = true; job 1999 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_sync_resv(adev, &job->sync, resv, job 2011 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_emit_copy_buffer(adev, &job->ibs[0], src_offset, job 2019 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_ring_pad_ib(ring, &job->ibs[0]); job 2020 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c WARN_ON(job->ibs[0].length_dw > num_dw); job 2022 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_submit_direct(job, ring, fence); job 2024 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_submit(job, &adev->mman.entity, job 2032 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_job_free(job); job 2050 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c struct amdgpu_job *job; job 2079 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_alloc_with_ib(adev, num_dw * 4, &job); job 2084 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_sync_resv(adev, &job->sync, resv, job 2104 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_emit_fill_buffer(adev, &job->ibs[0], src_data, job 2115 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_ring_pad_ib(ring, &job->ibs[0]); job 2116 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c WARN_ON(job->ibs[0].length_dw > num_dw); job 2117 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c r = amdgpu_job_submit(job, &adev->mman.entity, job 2125 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c amdgpu_job_free(job); job 893 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c struct amdgpu_ib *ib = &ctx->parser->job->ibs[ctx->ib_idx]; job 940 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c struct amdgpu_ib *ib = &ctx->parser->job->ibs[ctx->ib_idx]; job 982 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c struct amdgpu_ib *ib = &parser->job->ibs[ib_idx]; job 985 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c parser->job->vm = NULL; job 1024 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c struct amdgpu_job *job; job 1046 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c r = amdgpu_job_alloc_with_ib(adev, 64, &job); job 1061 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c ib = &job->ibs[0]; job 1084 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c r = amdgpu_job_submit_direct(job, ring, &f); job 1088 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c r = amdgpu_sync_resv(adev, &job->sync, bo->tbo.base.resv, job 1093 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c r = amdgpu_job_submit(job, &adev->uvd.entity, job 1110 drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c amdgpu_job_free(job); job 436 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c struct amdgpu_job *job; job 442 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 446 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c ib = &job->ibs[0]; job 487 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c r = amdgpu_job_submit_direct(job, ring, &f); job 497 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c amdgpu_job_free(job); job 515 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c struct amdgpu_job *job; job 520 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 524 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c ib = &job->ibs[0]; job 548 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c r = amdgpu_job_submit_direct(job, ring, &f); job 550 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c r = amdgpu_job_submit(job, &ring->adev->vce.entity, job 561 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c amdgpu_job_free(job); job 711 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c struct amdgpu_ib *ib = &p->job->ibs[ib_idx]; job 722 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c p->job->vm = NULL; job 947 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c struct amdgpu_ib *ib = &p->job->ibs[ib_idx]; job 1037 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c struct amdgpu_job *job, job 69 drivers/gpu/drm/amd/amdgpu/amdgpu_vce.h void amdgpu_vce_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, job 413 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c struct amdgpu_job *job; job 418 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_alloc_with_ib(adev, 64, &job); job 422 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c ib = &job->ibs[0]; job 436 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_submit_direct(job, ring, &f); job 451 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c amdgpu_job_free(job); job 576 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c struct amdgpu_job *job; job 582 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 586 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c ib = &job->ibs[0]; job 609 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_submit_direct(job, ring, &f); job 620 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c amdgpu_job_free(job); job 629 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c struct amdgpu_job *job; job 635 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 639 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c ib = &job->ibs[0]; job 662 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_submit_direct(job, ring, &f); job 673 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c amdgpu_job_free(job); job 743 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c struct amdgpu_job *job; job 749 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 753 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c ib = &job->ibs[0]; job 763 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c r = amdgpu_job_submit_direct(job, ring, &f); job 774 drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c amdgpu_job_free(job); job 985 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c struct amdgpu_job *job) job 992 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c bool vm_flush_needed = job->vm_needs_flush || ring->has_compute_vm_bug; job 994 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c if (job->vmid == 0) job 996 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id = &id_mgr->ids[job->vmid]; job 998 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gds_base != job->gds_base || job 999 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gds_size != job->gds_size || job 1000 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gws_base != job->gws_base || job 1001 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gws_size != job->gws_size || job 1002 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->oa_base != job->oa_base || job 1003 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->oa_size != job->oa_size); job 1023 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c int amdgpu_vm_flush(struct amdgpu_ring *ring, struct amdgpu_job *job, bool need_pipe_sync) job 1028 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c struct amdgpu_vmid *id = &id_mgr->ids[job->vmid]; job 1030 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gds_base != job->gds_base || job 1031 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gds_size != job->gds_size || job 1032 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gws_base != job->gws_base || job 1033 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gws_size != job->gws_size || job 1034 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->oa_base != job->oa_base || job 1035 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->oa_size != job->oa_size); job 1036 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c bool vm_flush_needed = job->vm_needs_flush; job 1049 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c if (id->pasid != job->pasid || !id->pasid_mapping || job 1056 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c job->vm_pd_addr != AMDGPU_BO_INVALID_OFFSET; job 1070 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c trace_amdgpu_vm_flush(ring, job->vmid, job->vm_pd_addr); job 1071 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_ring_emit_vm_flush(ring, job->vmid, job->vm_pd_addr); job 1075 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_gmc_emit_pasid_mapping(ring, job->vmid, job->pasid); job 1094 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->pasid = job->pasid; job 1102 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gds_base = job->gds_base; job 1103 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gds_size = job->gds_size; job 1104 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gws_base = job->gws_base; job 1105 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->gws_size = job->gws_size; job 1106 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->oa_base = job->oa_base; job 1107 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c id->oa_size = job->oa_size; job 1108 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c amdgpu_ring_emit_gds_switch(ring, job->vmid, job->gds_base, job 1109 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c job->gds_size, job->gws_base, job 1110 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c job->gws_size, job->oa_base, job 1111 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c job->oa_size); job 211 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h struct amdgpu_job *job; job 359 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h int amdgpu_vm_flush(struct amdgpu_ring *ring, struct amdgpu_job *job, bool need_pipe_sync); job 402 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h struct amdgpu_job *job); job 67 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c r = amdgpu_job_alloc_with_ib(p->adev, ndw * 4, &p->job); job 71 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c r = amdgpu_sync_fence(p->adev, &p->job->sync, exclusive, false); job 75 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c r = amdgpu_sync_resv(p->adev, &p->job->sync, root->tbo.base.resv, job 97 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c struct amdgpu_ib *ib = p->job->ibs; job 107 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c r = amdgpu_job_submit(p->job, &p->vm->entity, job 119 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c amdgpu_job_free(p->job); job 138 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c struct amdgpu_ib *ib = p->job->ibs; job 168 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c struct amdgpu_ib *ib = p->job->ibs; job 206 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c ndw -= p->job->ibs->length_dw; job 220 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c r = amdgpu_job_alloc_with_ib(p->adev, ndw * 4, &p->job); job 248 drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c pte = (uint64_t *)&(p->job->ibs->ptr[p->num_dw_left]); job 223 drivers/gpu/drm/amd/amdgpu/cik_sdma.c struct amdgpu_job *job, job 227 drivers/gpu/drm/amd/amdgpu/cik_sdma.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 4453 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c struct amdgpu_job *job, job 4457 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 4490 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c struct amdgpu_job *job, job 4494 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1864 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c struct amdgpu_job *job, job 1868 drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 2259 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c struct amdgpu_job *job, job 2263 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 2290 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c struct amdgpu_job *job, job 2294 drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 6116 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c struct amdgpu_job *job, job 6120 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 6148 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c struct amdgpu_job *job, job 6152 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 5012 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c struct amdgpu_job *job, job 5016 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 5045 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c struct amdgpu_job *job, job 5049 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 311 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c struct amdgpu_job *job; job 341 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c r = amdgpu_job_alloc_with_ib(adev, 16 * 4, &job); job 345 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c job->vm_pd_addr = amdgpu_gmc_pd_addr(adev->gart.bo); job 346 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c job->vm_needs_flush = true; job 347 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c job->ibs->ptr[job->ibs->length_dw++] = ring->funcs->nop; job 348 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c amdgpu_ring_pad_ib(ring, &job->ibs[0]); job 349 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c r = amdgpu_job_submit(job, &adev->mman.entity, job 362 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c amdgpu_job_free(job); job 251 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c struct amdgpu_job *job, job 255 drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 425 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c struct amdgpu_job *job, job 429 drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 694 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c struct amdgpu_job *job, job 698 drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 378 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c struct amdgpu_job *job, job 382 drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 64 drivers/gpu/drm/amd/amdgpu/si_dma.c struct amdgpu_job *job, job 68 drivers/gpu/drm/amd/amdgpu/si_dma.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 512 drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c struct amdgpu_job *job, job 528 drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c struct amdgpu_job *job, job 213 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c struct amdgpu_job *job; job 219 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 223 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c ib = &job->ibs[0]; job 246 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c r = amdgpu_job_submit_direct(job, ring, &f); job 256 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c amdgpu_job_free(job); job 276 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c struct amdgpu_job *job; job 282 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 286 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c ib = &job->ibs[0]; job 309 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c r = amdgpu_job_submit_direct(job, ring, &f); job 319 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c amdgpu_job_free(job); job 992 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c struct amdgpu_job *job, job 996 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1018 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c struct amdgpu_job *job, job 1022 drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 221 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c struct amdgpu_job *job; job 227 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 231 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c ib = &job->ibs[0]; job 254 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c r = amdgpu_job_submit_direct(job, ring, &f); job 264 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c amdgpu_job_free(job); job 283 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c struct amdgpu_job *job; job 289 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c r = amdgpu_job_alloc_with_ib(ring->adev, ib_size_dw * 4, &job); job 293 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c ib = &job->ibs[0]; job 316 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c r = amdgpu_job_submit_direct(job, ring, &f); job 326 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c amdgpu_job_free(job); job 1264 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c struct amdgpu_ib *ib = &p->job->ibs[ib_idx]; job 1291 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c struct amdgpu_job *job, job 1296 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1322 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c struct amdgpu_job *job, job 1326 drivers/gpu/drm/amd/amdgpu/uvd_v7_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 835 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c struct amdgpu_job *job, job 839 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 951 drivers/gpu/drm/amd/amdgpu/vce_v4_0.c static void vce_v4_0_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, job 954 drivers/gpu/drm/amd/amdgpu/vce_v4_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1517 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c struct amdgpu_job *job, job 1522 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1677 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c struct amdgpu_job *job, job 1681 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1882 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c struct amdgpu_job *job, job 1887 drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1581 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c struct amdgpu_job *job, job 1586 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1752 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c struct amdgpu_job *job, job 1756 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 1937 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c struct amdgpu_job *job, job 1941 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c unsigned vmid = AMDGPU_JOB_GET_VMID(job); job 32 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.h extern void vcn_v2_0_dec_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, job 44 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.h extern void vcn_v2_0_enc_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, job 56 drivers/gpu/drm/amd/amdgpu/vcn_v2_0.h extern void vcn_v2_0_jpeg_ring_emit_ib(struct amdgpu_ring *ring, struct amdgpu_job *job, job 263 drivers/gpu/drm/drm_writeback.c int drm_writeback_prepare_job(struct drm_writeback_job *job) job 265 drivers/gpu/drm/drm_writeback.c struct drm_writeback_connector *connector = job->connector; job 271 drivers/gpu/drm/drm_writeback.c ret = funcs->prepare_writeback_job(connector, job); job 276 drivers/gpu/drm/drm_writeback.c job->prepared = true; job 303 drivers/gpu/drm/drm_writeback.c struct drm_writeback_job *job; job 306 drivers/gpu/drm/drm_writeback.c job = conn_state->writeback_job; job 310 drivers/gpu/drm/drm_writeback.c list_add_tail(&job->list_entry, &wb_connector->job_queue); job 315 drivers/gpu/drm/drm_writeback.c void drm_writeback_cleanup_job(struct drm_writeback_job *job) job 317 drivers/gpu/drm/drm_writeback.c struct drm_writeback_connector *connector = job->connector; job 321 drivers/gpu/drm/drm_writeback.c if (job->prepared && funcs->cleanup_writeback_job) job 322 drivers/gpu/drm/drm_writeback.c funcs->cleanup_writeback_job(connector, job); job 324 drivers/gpu/drm/drm_writeback.c if (job->fb) job 325 drivers/gpu/drm/drm_writeback.c drm_framebuffer_put(job->fb); job 327 drivers/gpu/drm/drm_writeback.c if (job->out_fence) job 328 drivers/gpu/drm/drm_writeback.c dma_fence_put(job->out_fence); job 330 drivers/gpu/drm/drm_writeback.c kfree(job); job 343 drivers/gpu/drm/drm_writeback.c struct drm_writeback_job *job = container_of(work, job 347 drivers/gpu/drm/drm_writeback.c drm_writeback_cleanup_job(job); job 371 drivers/gpu/drm/drm_writeback.c struct drm_writeback_job *job; job 375 drivers/gpu/drm/drm_writeback.c job = list_first_entry_or_null(&wb_connector->job_queue, job 378 drivers/gpu/drm/drm_writeback.c if (job) job 379 drivers/gpu/drm/drm_writeback.c list_del(&job->list_entry); job 383 drivers/gpu/drm/drm_writeback.c if (WARN_ON(!job)) job 386 drivers/gpu/drm/drm_writeback.c out_fence = job->out_fence; job 392 drivers/gpu/drm/drm_writeback.c job->out_fence = NULL; job 395 drivers/gpu/drm/drm_writeback.c INIT_WORK(&job->cleanup_work, cleanup_work); job 396 drivers/gpu/drm/drm_writeback.c queue_work(system_long_wq, &job->cleanup_work); job 98 drivers/gpu/drm/lima/lima_sched.c static inline struct lima_sched_task *to_lima_task(struct drm_sched_job *job) job 100 drivers/gpu/drm/lima/lima_sched.c return container_of(job, struct lima_sched_task, base); job 182 drivers/gpu/drm/lima/lima_sched.c static struct dma_fence *lima_sched_dependency(struct drm_sched_job *job, job 185 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_task *task = to_lima_task(job); job 193 drivers/gpu/drm/lima/lima_sched.c static struct dma_fence *lima_sched_run_job(struct drm_sched_job *job) job 195 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_task *task = to_lima_task(job); job 196 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_pipe *pipe = to_lima_pipe(job->sched); job 203 drivers/gpu/drm/lima/lima_sched.c if (job->s_fence->finished.error < 0) job 287 drivers/gpu/drm/lima/lima_sched.c static void lima_sched_timedout_job(struct drm_sched_job *job) job 289 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_pipe *pipe = to_lima_pipe(job->sched); job 290 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_task *task = to_lima_task(job); job 297 drivers/gpu/drm/lima/lima_sched.c static void lima_sched_free_job(struct drm_sched_job *job) job 299 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_task *task = to_lima_task(job); job 300 drivers/gpu/drm/lima/lima_sched.c struct lima_sched_pipe *pipe = to_lima_pipe(job->sched); job 129 drivers/gpu/drm/panfrost/panfrost_drv.c struct panfrost_job *job) job 136 drivers/gpu/drm/panfrost/panfrost_drv.c job->bo_count = args->bo_handle_count; job 138 drivers/gpu/drm/panfrost/panfrost_drv.c if (!job->bo_count) job 141 drivers/gpu/drm/panfrost/panfrost_drv.c job->implicit_fences = kvmalloc_array(job->bo_count, job 144 drivers/gpu/drm/panfrost/panfrost_drv.c if (!job->implicit_fences) job 149 drivers/gpu/drm/panfrost/panfrost_drv.c job->bo_count, &job->bos); job 153 drivers/gpu/drm/panfrost/panfrost_drv.c job->mappings = kvmalloc_array(job->bo_count, job 156 drivers/gpu/drm/panfrost/panfrost_drv.c if (!job->mappings) job 159 drivers/gpu/drm/panfrost/panfrost_drv.c for (i = 0; i < job->bo_count; i++) { job 162 drivers/gpu/drm/panfrost/panfrost_drv.c bo = to_panfrost_bo(job->bos[i]); job 170 drivers/gpu/drm/panfrost/panfrost_drv.c job->mappings[i] = mapping; job 193 drivers/gpu/drm/panfrost/panfrost_drv.c struct panfrost_job *job) job 199 drivers/gpu/drm/panfrost/panfrost_drv.c job->in_fence_count = args->in_sync_count; job 201 drivers/gpu/drm/panfrost/panfrost_drv.c if (!job->in_fence_count) job 204 drivers/gpu/drm/panfrost/panfrost_drv.c job->in_fences = kvmalloc_array(job->in_fence_count, job 207 drivers/gpu/drm/panfrost/panfrost_drv.c if (!job->in_fences) { job 212 drivers/gpu/drm/panfrost/panfrost_drv.c handles = kvmalloc_array(job->in_fence_count, sizeof(u32), GFP_KERNEL); job 221 drivers/gpu/drm/panfrost/panfrost_drv.c job->in_fence_count * sizeof(u32))) { job 227 drivers/gpu/drm/panfrost/panfrost_drv.c for (i = 0; i < job->in_fence_count; i++) { job 229 drivers/gpu/drm/panfrost/panfrost_drv.c &job->in_fences[i]); job 245 drivers/gpu/drm/panfrost/panfrost_drv.c struct panfrost_job *job; job 260 drivers/gpu/drm/panfrost/panfrost_drv.c job = kzalloc(sizeof(*job), GFP_KERNEL); job 261 drivers/gpu/drm/panfrost/panfrost_drv.c if (!job) { job 266 drivers/gpu/drm/panfrost/panfrost_drv.c kref_init(&job->refcount); job 268 drivers/gpu/drm/panfrost/panfrost_drv.c job->pfdev = pfdev; job 269 drivers/gpu/drm/panfrost/panfrost_drv.c job->jc = args->jc; job 270 drivers/gpu/drm/panfrost/panfrost_drv.c job->requirements = args->requirements; job 271 drivers/gpu/drm/panfrost/panfrost_drv.c job->flush_id = panfrost_gpu_get_latest_flush_id(pfdev); job 272 drivers/gpu/drm/panfrost/panfrost_drv.c job->file_priv = file->driver_priv; job 274 drivers/gpu/drm/panfrost/panfrost_drv.c ret = panfrost_copy_in_sync(dev, file, args, job); job 278 drivers/gpu/drm/panfrost/panfrost_drv.c ret = panfrost_lookup_bos(dev, file, args, job); job 282 drivers/gpu/drm/panfrost/panfrost_drv.c ret = panfrost_job_push(job); job 288 drivers/gpu/drm/panfrost/panfrost_drv.c drm_syncobj_replace_fence(sync_out, job->render_done_fence); job 291 drivers/gpu/drm/panfrost/panfrost_drv.c panfrost_job_put(job); job 102 drivers/gpu/drm/panfrost/panfrost_job.c static int panfrost_job_get_slot(struct panfrost_job *job) job 108 drivers/gpu/drm/panfrost/panfrost_job.c if (job->requirements & PANFROST_JD_REQ_FS) job 113 drivers/gpu/drm/panfrost/panfrost_job.c if (job->requirements & PANFROST_JD_REQ_ONLY_COMPUTE) { job 114 drivers/gpu/drm/panfrost/panfrost_job.c if ((job->requirements & PANFROST_JD_REQ_CORE_GRP_MASK) && job 115 drivers/gpu/drm/panfrost/panfrost_job.c (job->pfdev->features.nr_core_groups == 2)) job 117 drivers/gpu/drm/panfrost/panfrost_job.c if (panfrost_has_hw_issue(job->pfdev, HW_ISSUE_8987)) job 141 drivers/gpu/drm/panfrost/panfrost_job.c static void panfrost_job_hw_submit(struct panfrost_job *job, int js) job 143 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_device *pfdev = job->pfdev; job 145 drivers/gpu/drm/panfrost/panfrost_job.c u64 jc_head = job->jc; job 157 drivers/gpu/drm/panfrost/panfrost_job.c cfg = panfrost_mmu_as_get(pfdev, &job->file_priv->mmu); job 164 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_job_write_affinity(pfdev, job->requirements, js); job 181 drivers/gpu/drm/panfrost/panfrost_job.c job_write(pfdev, JS_FLUSH_ID_NEXT(js), job->flush_id); job 185 drivers/gpu/drm/panfrost/panfrost_job.c job, js, jc_head); job 210 drivers/gpu/drm/panfrost/panfrost_job.c int panfrost_job_push(struct panfrost_job *job) job 212 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_device *pfdev = job->pfdev; job 213 drivers/gpu/drm/panfrost/panfrost_job.c int slot = panfrost_job_get_slot(job); job 214 drivers/gpu/drm/panfrost/panfrost_job.c struct drm_sched_entity *entity = &job->file_priv->sched_entity[slot]; job 220 drivers/gpu/drm/panfrost/panfrost_job.c ret = drm_gem_lock_reservations(job->bos, job->bo_count, job 227 drivers/gpu/drm/panfrost/panfrost_job.c ret = drm_sched_job_init(&job->base, entity, NULL); job 233 drivers/gpu/drm/panfrost/panfrost_job.c job->render_done_fence = dma_fence_get(&job->base.s_fence->finished); job 235 drivers/gpu/drm/panfrost/panfrost_job.c kref_get(&job->refcount); /* put by scheduler job completion */ job 237 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_acquire_object_fences(job->bos, job->bo_count, job 238 drivers/gpu/drm/panfrost/panfrost_job.c job->implicit_fences); job 240 drivers/gpu/drm/panfrost/panfrost_job.c drm_sched_entity_push_job(&job->base, entity); job 244 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_attach_object_fences(job->bos, job->bo_count, job 245 drivers/gpu/drm/panfrost/panfrost_job.c job->render_done_fence); job 248 drivers/gpu/drm/panfrost/panfrost_job.c drm_gem_unlock_reservations(job->bos, job->bo_count, &acquire_ctx); job 255 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_job *job = container_of(ref, struct panfrost_job, job 259 drivers/gpu/drm/panfrost/panfrost_job.c if (job->in_fences) { job 260 drivers/gpu/drm/panfrost/panfrost_job.c for (i = 0; i < job->in_fence_count; i++) job 261 drivers/gpu/drm/panfrost/panfrost_job.c dma_fence_put(job->in_fences[i]); job 262 drivers/gpu/drm/panfrost/panfrost_job.c kvfree(job->in_fences); job 264 drivers/gpu/drm/panfrost/panfrost_job.c if (job->implicit_fences) { job 265 drivers/gpu/drm/panfrost/panfrost_job.c for (i = 0; i < job->bo_count; i++) job 266 drivers/gpu/drm/panfrost/panfrost_job.c dma_fence_put(job->implicit_fences[i]); job 267 drivers/gpu/drm/panfrost/panfrost_job.c kvfree(job->implicit_fences); job 269 drivers/gpu/drm/panfrost/panfrost_job.c dma_fence_put(job->done_fence); job 270 drivers/gpu/drm/panfrost/panfrost_job.c dma_fence_put(job->render_done_fence); job 272 drivers/gpu/drm/panfrost/panfrost_job.c if (job->mappings) { job 273 drivers/gpu/drm/panfrost/panfrost_job.c for (i = 0; i < job->bo_count; i++) { job 274 drivers/gpu/drm/panfrost/panfrost_job.c if (!job->mappings[i]) job 277 drivers/gpu/drm/panfrost/panfrost_job.c atomic_dec(&job->mappings[i]->obj->gpu_usecount); job 278 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_gem_mapping_put(job->mappings[i]); job 280 drivers/gpu/drm/panfrost/panfrost_job.c kvfree(job->mappings); job 283 drivers/gpu/drm/panfrost/panfrost_job.c if (job->bos) { job 286 drivers/gpu/drm/panfrost/panfrost_job.c for (i = 0; i < job->bo_count; i++) { job 287 drivers/gpu/drm/panfrost/panfrost_job.c bo = to_panfrost_bo(job->bos[i]); job 288 drivers/gpu/drm/panfrost/panfrost_job.c drm_gem_object_put_unlocked(job->bos[i]); job 291 drivers/gpu/drm/panfrost/panfrost_job.c kvfree(job->bos); job 294 drivers/gpu/drm/panfrost/panfrost_job.c kfree(job); job 297 drivers/gpu/drm/panfrost/panfrost_job.c void panfrost_job_put(struct panfrost_job *job) job 299 drivers/gpu/drm/panfrost/panfrost_job.c kref_put(&job->refcount, panfrost_job_cleanup); job 304 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_job *job = to_panfrost_job(sched_job); job 308 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_job_put(job); job 314 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_job *job = to_panfrost_job(sched_job); job 319 drivers/gpu/drm/panfrost/panfrost_job.c for (i = 0; i < job->in_fence_count; i++) { job 320 drivers/gpu/drm/panfrost/panfrost_job.c if (job->in_fences[i]) { job 321 drivers/gpu/drm/panfrost/panfrost_job.c fence = job->in_fences[i]; job 322 drivers/gpu/drm/panfrost/panfrost_job.c job->in_fences[i] = NULL; job 328 drivers/gpu/drm/panfrost/panfrost_job.c for (i = 0; i < job->bo_count; i++) { job 329 drivers/gpu/drm/panfrost/panfrost_job.c if (job->implicit_fences[i]) { job 330 drivers/gpu/drm/panfrost/panfrost_job.c fence = job->implicit_fences[i]; job 331 drivers/gpu/drm/panfrost/panfrost_job.c job->implicit_fences[i] = NULL; job 341 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_job *job = to_panfrost_job(sched_job); job 342 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_device *pfdev = job->pfdev; job 343 drivers/gpu/drm/panfrost/panfrost_job.c int slot = panfrost_job_get_slot(job); job 346 drivers/gpu/drm/panfrost/panfrost_job.c if (unlikely(job->base.s_fence->finished.error)) job 349 drivers/gpu/drm/panfrost/panfrost_job.c pfdev->jobs[slot] = job; job 355 drivers/gpu/drm/panfrost/panfrost_job.c if (job->done_fence) job 356 drivers/gpu/drm/panfrost/panfrost_job.c dma_fence_put(job->done_fence); job 357 drivers/gpu/drm/panfrost/panfrost_job.c job->done_fence = dma_fence_get(fence); job 359 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_job_hw_submit(job, slot); job 379 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_job *job = to_panfrost_job(sched_job); job 380 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_device *pfdev = job->pfdev; job 381 drivers/gpu/drm/panfrost/panfrost_job.c int js = panfrost_job_get_slot(job); job 389 drivers/gpu/drm/panfrost/panfrost_job.c if (dma_fence_is_signaled(job->done_fence)) job 479 drivers/gpu/drm/panfrost/panfrost_job.c struct panfrost_job *job; job 482 drivers/gpu/drm/panfrost/panfrost_job.c job = pfdev->jobs[j]; job 484 drivers/gpu/drm/panfrost/panfrost_job.c if (job) { job 487 drivers/gpu/drm/panfrost/panfrost_job.c panfrost_mmu_as_put(pfdev, &job->file_priv->mmu); job 490 drivers/gpu/drm/panfrost/panfrost_job.c dma_fence_signal_locked(job->done_fence); job 47 drivers/gpu/drm/panfrost/panfrost_job.h int panfrost_job_push(struct panfrost_job *job); job 48 drivers/gpu/drm/panfrost/panfrost_job.h void panfrost_job_put(struct panfrost_job *job); job 49 drivers/gpu/drm/rcar-du/rcar_du_writeback.c struct drm_writeback_job *job) job 55 drivers/gpu/drm/rcar-du/rcar_du_writeback.c if (!job->fb) job 63 drivers/gpu/drm/rcar-du/rcar_du_writeback.c ret = rcar_du_vsp_map_fb(rcrtc->vsp, job->fb, rjob->sg_tables); job 69 drivers/gpu/drm/rcar-du/rcar_du_writeback.c job->priv = rjob; job 74 drivers/gpu/drm/rcar-du/rcar_du_writeback.c struct drm_writeback_job *job) job 77 drivers/gpu/drm/rcar-du/rcar_du_writeback.c struct rcar_du_wb_job *rjob = job->priv; job 79 drivers/gpu/drm/rcar-du/rcar_du_writeback.c if (!job->fb) job 82 drivers/gpu/drm/rcar-du/rcar_du_writeback.c rcar_du_vsp_unmap_fb(rcrtc->vsp, job->fb, rjob->sg_tables); job 219 drivers/gpu/drm/scheduler/sched_entity.c struct drm_sched_job *job = container_of(cb, struct drm_sched_job, job 222 drivers/gpu/drm/scheduler/sched_entity.c drm_sched_fence_finished(job->s_fence); job 223 drivers/gpu/drm/scheduler/sched_entity.c WARN_ON(job->s_fence->parent); job 224 drivers/gpu/drm/scheduler/sched_entity.c job->sched->ops->free_job(job); job 237 drivers/gpu/drm/scheduler/sched_entity.c struct drm_sched_job *job; job 240 drivers/gpu/drm/scheduler/sched_entity.c while ((job = to_drm_sched_job(spsc_queue_pop(&entity->job_queue)))) { job 241 drivers/gpu/drm/scheduler/sched_entity.c struct drm_sched_fence *s_fence = job->s_fence; job 252 drivers/gpu/drm/scheduler/sched_entity.c drm_sched_entity_kill_jobs_cb(NULL, &job->finish_cb); job 257 drivers/gpu/drm/scheduler/sched_entity.c &job->finish_cb, job 260 drivers/gpu/drm/scheduler/sched_entity.c drm_sched_entity_kill_jobs_cb(NULL, &job->finish_cb); job 283 drivers/gpu/drm/scheduler/sched_main.c struct drm_sched_job *job; job 287 drivers/gpu/drm/scheduler/sched_main.c job = list_first_entry_or_null(&sched->ring_mirror_list, job 290 drivers/gpu/drm/scheduler/sched_main.c if (job) { job 291 drivers/gpu/drm/scheduler/sched_main.c job->sched->ops->timedout_job(job); job 298 drivers/gpu/drm/scheduler/sched_main.c job->sched->ops->free_job(job); job 522 drivers/gpu/drm/scheduler/sched_main.c int drm_sched_job_init(struct drm_sched_job *job, job 534 drivers/gpu/drm/scheduler/sched_main.c job->sched = sched; job 535 drivers/gpu/drm/scheduler/sched_main.c job->entity = entity; job 536 drivers/gpu/drm/scheduler/sched_main.c job->s_priority = entity->rq - sched->sched_rq; job 537 drivers/gpu/drm/scheduler/sched_main.c job->s_fence = drm_sched_fence_create(entity, owner); job 538 drivers/gpu/drm/scheduler/sched_main.c if (!job->s_fence) job 540 drivers/gpu/drm/scheduler/sched_main.c job->id = atomic64_inc_return(&sched->job_id_count); job 542 drivers/gpu/drm/scheduler/sched_main.c INIT_LIST_HEAD(&job->node); job 553 drivers/gpu/drm/scheduler/sched_main.c void drm_sched_job_cleanup(struct drm_sched_job *job) job 555 drivers/gpu/drm/scheduler/sched_main.c dma_fence_put(&job->s_fence->finished); job 556 drivers/gpu/drm/scheduler/sched_main.c job->s_fence = NULL; job 647 drivers/gpu/drm/scheduler/sched_main.c struct drm_sched_job *job; job 657 drivers/gpu/drm/scheduler/sched_main.c job = list_first_entry_or_null(&sched->ring_mirror_list, job 660 drivers/gpu/drm/scheduler/sched_main.c if (job && dma_fence_is_signaled(&job->s_fence->finished)) { job 662 drivers/gpu/drm/scheduler/sched_main.c list_del_init(&job->node); job 664 drivers/gpu/drm/scheduler/sched_main.c job = NULL; job 671 drivers/gpu/drm/scheduler/sched_main.c return job; job 339 drivers/gpu/drm/tegra/drm.c struct host1x_job *job; job 355 drivers/gpu/drm/tegra/drm.c job = host1x_job_alloc(context->channel, args->num_cmdbufs, job 357 drivers/gpu/drm/tegra/drm.c if (!job) job 360 drivers/gpu/drm/tegra/drm.c job->num_relocs = args->num_relocs; job 361 drivers/gpu/drm/tegra/drm.c job->client = client; job 362 drivers/gpu/drm/tegra/drm.c job->class = client->class; job 363 drivers/gpu/drm/tegra/drm.c job->serialize = true; job 420 drivers/gpu/drm/tegra/drm.c host1x_job_add_gather(job, bo, cmdbuf.words, cmdbuf.offset); job 430 drivers/gpu/drm/tegra/drm.c err = host1x_reloc_copy_from_user(&job->relocs[num_relocs], job 436 drivers/gpu/drm/tegra/drm.c reloc = &job->relocs[num_relocs]; job 472 drivers/gpu/drm/tegra/drm.c job->is_addr_reg = context->client->ops->is_addr_reg; job 473 drivers/gpu/drm/tegra/drm.c job->is_valid_class = context->client->ops->is_valid_class; job 474 drivers/gpu/drm/tegra/drm.c job->syncpt_incrs = syncpt.incrs; job 475 drivers/gpu/drm/tegra/drm.c job->syncpt_id = syncpt.id; job 476 drivers/gpu/drm/tegra/drm.c job->timeout = 10000; job 479 drivers/gpu/drm/tegra/drm.c job->timeout = args->timeout; job 481 drivers/gpu/drm/tegra/drm.c err = host1x_job_pin(job, context->client->base.dev); job 485 drivers/gpu/drm/tegra/drm.c err = host1x_job_submit(job); job 487 drivers/gpu/drm/tegra/drm.c host1x_job_unpin(job); job 491 drivers/gpu/drm/tegra/drm.c args->fence = job->syncpt_end; job 500 drivers/gpu/drm/tegra/drm.c host1x_job_put(job); job 321 drivers/gpu/drm/v3d/v3d_drv.h void v3d_job_put(struct v3d_job *job); job 250 drivers/gpu/drm/v3d/v3d_gem.c v3d_lock_bo_reservations(struct v3d_job *job, job 255 drivers/gpu/drm/v3d/v3d_gem.c ret = drm_gem_lock_reservations(job->bo, job->bo_count, acquire_ctx); job 259 drivers/gpu/drm/v3d/v3d_gem.c for (i = 0; i < job->bo_count; i++) { job 260 drivers/gpu/drm/v3d/v3d_gem.c ret = drm_gem_fence_array_add_implicit(&job->deps, job 261 drivers/gpu/drm/v3d/v3d_gem.c job->bo[i], true); job 263 drivers/gpu/drm/v3d/v3d_gem.c drm_gem_unlock_reservations(job->bo, job->bo_count, job 289 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_job *job, job 297 drivers/gpu/drm/v3d/v3d_gem.c job->bo_count = bo_count; job 299 drivers/gpu/drm/v3d/v3d_gem.c if (!job->bo_count) { job 307 drivers/gpu/drm/v3d/v3d_gem.c job->bo = kvmalloc_array(job->bo_count, job 310 drivers/gpu/drm/v3d/v3d_gem.c if (!job->bo) { job 315 drivers/gpu/drm/v3d/v3d_gem.c handles = kvmalloc_array(job->bo_count, sizeof(u32), GFP_KERNEL); job 324 drivers/gpu/drm/v3d/v3d_gem.c job->bo_count * sizeof(u32))) { job 331 drivers/gpu/drm/v3d/v3d_gem.c for (i = 0; i < job->bo_count; i++) { job 342 drivers/gpu/drm/v3d/v3d_gem.c job->bo[i] = bo; job 354 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_job *job = container_of(ref, struct v3d_job, refcount); job 359 drivers/gpu/drm/v3d/v3d_gem.c for (i = 0; i < job->bo_count; i++) { job 360 drivers/gpu/drm/v3d/v3d_gem.c if (job->bo[i]) job 361 drivers/gpu/drm/v3d/v3d_gem.c drm_gem_object_put_unlocked(job->bo[i]); job 363 drivers/gpu/drm/v3d/v3d_gem.c kvfree(job->bo); job 365 drivers/gpu/drm/v3d/v3d_gem.c xa_for_each(&job->deps, index, fence) { job 368 drivers/gpu/drm/v3d/v3d_gem.c xa_destroy(&job->deps); job 370 drivers/gpu/drm/v3d/v3d_gem.c dma_fence_put(job->irq_fence); job 371 drivers/gpu/drm/v3d/v3d_gem.c dma_fence_put(job->done_fence); job 373 drivers/gpu/drm/v3d/v3d_gem.c pm_runtime_mark_last_busy(job->v3d->dev); job 374 drivers/gpu/drm/v3d/v3d_gem.c pm_runtime_put_autosuspend(job->v3d->dev); job 376 drivers/gpu/drm/v3d/v3d_gem.c kfree(job); job 382 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_render_job *job = container_of(ref, struct v3d_render_job, job 386 drivers/gpu/drm/v3d/v3d_gem.c list_for_each_entry_safe(bo, save, &job->unref_list, unref_head) { job 393 drivers/gpu/drm/v3d/v3d_gem.c void v3d_job_put(struct v3d_job *job) job 395 drivers/gpu/drm/v3d/v3d_gem.c kref_put(&job->refcount, job->free); job 433 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_job *job, void (*free)(struct kref *ref), job 439 drivers/gpu/drm/v3d/v3d_gem.c job->v3d = v3d; job 440 drivers/gpu/drm/v3d/v3d_gem.c job->free = free; job 446 drivers/gpu/drm/v3d/v3d_gem.c xa_init_flags(&job->deps, XA_FLAGS_ALLOC); job 452 drivers/gpu/drm/v3d/v3d_gem.c ret = drm_gem_fence_array_add(&job->deps, in_fence); job 456 drivers/gpu/drm/v3d/v3d_gem.c kref_init(&job->refcount); job 460 drivers/gpu/drm/v3d/v3d_gem.c xa_destroy(&job->deps); job 467 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_job *job, enum v3d_queue queue) job 471 drivers/gpu/drm/v3d/v3d_gem.c ret = drm_sched_job_init(&job->base, &v3d_priv->sched_entity[queue], job 476 drivers/gpu/drm/v3d/v3d_gem.c job->done_fence = dma_fence_get(&job->base.s_fence->finished); job 479 drivers/gpu/drm/v3d/v3d_gem.c kref_get(&job->refcount); job 481 drivers/gpu/drm/v3d/v3d_gem.c drm_sched_entity_push_job(&job->base, &v3d_priv->sched_entity[queue]); job 488 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_job *job, job 496 drivers/gpu/drm/v3d/v3d_gem.c for (i = 0; i < job->bo_count; i++) { job 498 drivers/gpu/drm/v3d/v3d_gem.c dma_resv_add_excl_fence(job->bo[i]->resv, job 499 drivers/gpu/drm/v3d/v3d_gem.c job->done_fence); job 502 drivers/gpu/drm/v3d/v3d_gem.c drm_gem_unlock_reservations(job->bo, job->bo_count, acquire_ctx); job 647 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_tfu_job *job; job 653 drivers/gpu/drm/v3d/v3d_gem.c job = kcalloc(1, sizeof(*job), GFP_KERNEL); job 654 drivers/gpu/drm/v3d/v3d_gem.c if (!job) job 657 drivers/gpu/drm/v3d/v3d_gem.c ret = v3d_job_init(v3d, file_priv, &job->base, job 660 drivers/gpu/drm/v3d/v3d_gem.c kfree(job); job 664 drivers/gpu/drm/v3d/v3d_gem.c job->base.bo = kcalloc(ARRAY_SIZE(args->bo_handles), job 665 drivers/gpu/drm/v3d/v3d_gem.c sizeof(*job->base.bo), GFP_KERNEL); job 666 drivers/gpu/drm/v3d/v3d_gem.c if (!job->base.bo) { job 667 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 671 drivers/gpu/drm/v3d/v3d_gem.c job->args = *args; job 674 drivers/gpu/drm/v3d/v3d_gem.c for (job->base.bo_count = 0; job 675 drivers/gpu/drm/v3d/v3d_gem.c job->base.bo_count < ARRAY_SIZE(args->bo_handles); job 676 drivers/gpu/drm/v3d/v3d_gem.c job->base.bo_count++) { job 679 drivers/gpu/drm/v3d/v3d_gem.c if (!args->bo_handles[job->base.bo_count]) job 683 drivers/gpu/drm/v3d/v3d_gem.c args->bo_handles[job->base.bo_count]); job 686 drivers/gpu/drm/v3d/v3d_gem.c job->base.bo_count, job 687 drivers/gpu/drm/v3d/v3d_gem.c args->bo_handles[job->base.bo_count]); job 693 drivers/gpu/drm/v3d/v3d_gem.c job->base.bo[job->base.bo_count] = bo; job 697 drivers/gpu/drm/v3d/v3d_gem.c ret = v3d_lock_bo_reservations(&job->base, &acquire_ctx); job 702 drivers/gpu/drm/v3d/v3d_gem.c ret = v3d_push_job(v3d_priv, &job->base, V3D_TFU); job 708 drivers/gpu/drm/v3d/v3d_gem.c &job->base, &acquire_ctx, job 710 drivers/gpu/drm/v3d/v3d_gem.c job->base.done_fence); job 712 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 718 drivers/gpu/drm/v3d/v3d_gem.c drm_gem_unlock_reservations(job->base.bo, job->base.bo_count, job 721 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 742 drivers/gpu/drm/v3d/v3d_gem.c struct v3d_csd_job *job; job 754 drivers/gpu/drm/v3d/v3d_gem.c job = kcalloc(1, sizeof(*job), GFP_KERNEL); job 755 drivers/gpu/drm/v3d/v3d_gem.c if (!job) job 758 drivers/gpu/drm/v3d/v3d_gem.c ret = v3d_job_init(v3d, file_priv, &job->base, job 761 drivers/gpu/drm/v3d/v3d_gem.c kfree(job); job 767 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 768 drivers/gpu/drm/v3d/v3d_gem.c kfree(job); job 774 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 779 drivers/gpu/drm/v3d/v3d_gem.c job->args = *args; job 791 drivers/gpu/drm/v3d/v3d_gem.c ret = v3d_push_job(v3d_priv, &job->base, V3D_CSD); job 796 drivers/gpu/drm/v3d/v3d_gem.c dma_fence_get(job->base.done_fence)); job 811 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 821 drivers/gpu/drm/v3d/v3d_gem.c v3d_job_put(&job->base); job 60 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_job *job = to_v3d_job(sched_job); job 63 drivers/gpu/drm/v3d/v3d_sched.c v3d_job_put(job); job 76 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_job *job = to_v3d_job(sched_job); job 82 drivers/gpu/drm/v3d/v3d_sched.c if (!xa_empty(&job->deps)) job 83 drivers/gpu/drm/v3d/v3d_sched.c return xa_erase(&job->deps, job->last_dep++); job 90 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_bin_job *job = to_bin_job(sched_job); job 91 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->base.v3d; job 96 drivers/gpu/drm/v3d/v3d_sched.c if (unlikely(job->base.base.s_fence->finished.error)) job 103 drivers/gpu/drm/v3d/v3d_sched.c v3d->bin_job = job; job 116 drivers/gpu/drm/v3d/v3d_sched.c if (job->base.irq_fence) job 117 drivers/gpu/drm/v3d/v3d_sched.c dma_fence_put(job->base.irq_fence); job 118 drivers/gpu/drm/v3d/v3d_sched.c job->base.irq_fence = dma_fence_get(fence); job 121 drivers/gpu/drm/v3d/v3d_sched.c job->start, job->end); job 126 drivers/gpu/drm/v3d/v3d_sched.c if (job->qma) { job 127 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CLE_CT0QMA, job->qma); job 128 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CLE_CT0QMS, job->qms); job 130 drivers/gpu/drm/v3d/v3d_sched.c if (job->qts) { job 133 drivers/gpu/drm/v3d/v3d_sched.c job->qts); job 135 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CLE_CT0QBA, job->start); job 136 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CLE_CT0QEA, job->end); job 143 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_render_job *job = to_render_job(sched_job); job 144 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->base.v3d; job 148 drivers/gpu/drm/v3d/v3d_sched.c if (unlikely(job->base.base.s_fence->finished.error)) job 151 drivers/gpu/drm/v3d/v3d_sched.c v3d->render_job = job; job 165 drivers/gpu/drm/v3d/v3d_sched.c if (job->base.irq_fence) job 166 drivers/gpu/drm/v3d/v3d_sched.c dma_fence_put(job->base.irq_fence); job 167 drivers/gpu/drm/v3d/v3d_sched.c job->base.irq_fence = dma_fence_get(fence); job 170 drivers/gpu/drm/v3d/v3d_sched.c job->start, job->end); job 177 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CLE_CT1QBA, job->start); job 178 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CLE_CT1QEA, job->end); job 186 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_tfu_job *job = to_tfu_job(sched_job); job 187 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->base.v3d; job 195 drivers/gpu/drm/v3d/v3d_sched.c v3d->tfu_job = job; job 196 drivers/gpu/drm/v3d/v3d_sched.c if (job->base.irq_fence) job 197 drivers/gpu/drm/v3d/v3d_sched.c dma_fence_put(job->base.irq_fence); job 198 drivers/gpu/drm/v3d/v3d_sched.c job->base.irq_fence = dma_fence_get(fence); job 202 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_IIA, job->args.iia); job 203 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_IIS, job->args.iis); job 204 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_ICA, job->args.ica); job 205 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_IUA, job->args.iua); job 206 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_IOA, job->args.ioa); job 207 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_IOS, job->args.ios); job 208 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_COEF0, job->args.coef[0]); job 209 drivers/gpu/drm/v3d/v3d_sched.c if (job->args.coef[0] & V3D_TFU_COEF0_USECOEF) { job 210 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_COEF1, job->args.coef[1]); job 211 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_COEF2, job->args.coef[2]); job 212 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_COEF3, job->args.coef[3]); job 215 drivers/gpu/drm/v3d/v3d_sched.c V3D_WRITE(V3D_TFU_ICFG, job->args.icfg | V3D_TFU_ICFG_IOC); job 223 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_csd_job *job = to_csd_job(sched_job); job 224 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->base.v3d; job 229 drivers/gpu/drm/v3d/v3d_sched.c v3d->csd_job = job; job 237 drivers/gpu/drm/v3d/v3d_sched.c if (job->base.irq_fence) job 238 drivers/gpu/drm/v3d/v3d_sched.c dma_fence_put(job->base.irq_fence); job 239 drivers/gpu/drm/v3d/v3d_sched.c job->base.irq_fence = dma_fence_get(fence); job 244 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CSD_QUEUED_CFG0 + 4 * i, job->args.cfg[i]); job 246 drivers/gpu/drm/v3d/v3d_sched.c V3D_CORE_WRITE(0, V3D_CSD_QUEUED_CFG0, job->args.cfg[0]); job 254 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_job *job = to_v3d_job(sched_job); job 255 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->v3d; job 299 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_job *job = to_v3d_job(sched_job); job 300 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->v3d; job 316 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_bin_job *job = to_bin_job(sched_job); job 319 drivers/gpu/drm/v3d/v3d_sched.c &job->timedout_ctca, &job->timedout_ctra); job 325 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_render_job *job = to_render_job(sched_job); job 328 drivers/gpu/drm/v3d/v3d_sched.c &job->timedout_ctca, &job->timedout_ctra); job 334 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_job *job = to_v3d_job(sched_job); job 336 drivers/gpu/drm/v3d/v3d_sched.c v3d_gpu_reset_for_timeout(job->v3d, sched_job); job 342 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_csd_job *job = to_csd_job(sched_job); job 343 drivers/gpu/drm/v3d/v3d_sched.c struct v3d_dev *v3d = job->base.v3d; job 349 drivers/gpu/drm/v3d/v3d_sched.c if (job->timedout_batches != batches) { job 350 drivers/gpu/drm/v3d/v3d_sched.c job->timedout_batches = batches; job 274 drivers/gpu/host1x/cdma.c struct host1x_job *job) job 283 drivers/gpu/host1x/cdma.c cdma->timeout.client = job->client; job 284 drivers/gpu/host1x/cdma.c cdma->timeout.syncpt = host1x_syncpt_get(host, job->syncpt_id); job 285 drivers/gpu/host1x/cdma.c cdma->timeout.syncpt_val = job->syncpt_end; job 289 drivers/gpu/host1x/cdma.c msecs_to_jiffies(job->timeout)); job 316 drivers/gpu/host1x/cdma.c struct host1x_job *job, *n; job 326 drivers/gpu/host1x/cdma.c list_for_each_entry_safe(job, n, &cdma->sync_queue, list) { job 328 drivers/gpu/host1x/cdma.c host1x_syncpt_get(host1x, job->syncpt_id); job 331 drivers/gpu/host1x/cdma.c if (!host1x_syncpt_is_expired(sp, job->syncpt_end)) { job 333 drivers/gpu/host1x/cdma.c if (job->timeout) job 334 drivers/gpu/host1x/cdma.c cdma_start_timer_locked(cdma, job); job 344 drivers/gpu/host1x/cdma.c host1x_job_unpin(job); job 347 drivers/gpu/host1x/cdma.c if (job->num_slots) { job 350 drivers/gpu/host1x/cdma.c host1x_pushbuffer_pop(pb, job->num_slots); job 356 drivers/gpu/host1x/cdma.c list_del(&job->list); job 357 drivers/gpu/host1x/cdma.c host1x_job_put(job); job 375 drivers/gpu/host1x/cdma.c struct host1x_job *job, *next_job = NULL; job 392 drivers/gpu/host1x/cdma.c list_for_each_entry(job, &cdma->sync_queue, list) { job 393 drivers/gpu/host1x/cdma.c if (syncpt_val < job->syncpt_end) { job 395 drivers/gpu/host1x/cdma.c if (!list_is_last(&job->list, &cdma->sync_queue)) job 396 drivers/gpu/host1x/cdma.c next_job = list_next_entry(job, list); job 401 drivers/gpu/host1x/cdma.c host1x_job_dump(dev, job); job 405 drivers/gpu/host1x/cdma.c job = NULL; job 421 drivers/gpu/host1x/cdma.c if (job) { job 426 drivers/gpu/host1x/cdma.c job->timeout = 0; job 428 drivers/gpu/host1x/cdma.c syncpt_incrs = job->syncpt_end - syncpt_val; job 431 drivers/gpu/host1x/cdma.c host1x_job_dump(dev, job); job 434 drivers/gpu/host1x/cdma.c host1x_hw_cdma_timeout_cpu_incr(host1x, cdma, job->first_get, job 435 drivers/gpu/host1x/cdma.c syncpt_incrs, job->syncpt_end, job 436 drivers/gpu/host1x/cdma.c job->num_slots); job 491 drivers/gpu/host1x/cdma.c int host1x_cdma_begin(struct host1x_cdma *cdma, struct host1x_job *job) job 497 drivers/gpu/host1x/cdma.c if (job->timeout) { job 503 drivers/gpu/host1x/cdma.c job->syncpt_id); job 518 drivers/gpu/host1x/cdma.c trace_host1x_cdma_begin(dev_name(job->channel->dev)); job 607 drivers/gpu/host1x/cdma.c struct host1x_job *job) job 614 drivers/gpu/host1x/cdma.c job->first_get = cdma->first_get; job 615 drivers/gpu/host1x/cdma.c job->num_slots = cdma->slots_used; job 616 drivers/gpu/host1x/cdma.c host1x_job_get(job); job 617 drivers/gpu/host1x/cdma.c list_add_tail(&job->list, &cdma->sync_queue); job 620 drivers/gpu/host1x/cdma.c if (job->timeout && idle) job 621 drivers/gpu/host1x/cdma.c cdma_start_timer_locked(cdma, job); job 623 drivers/gpu/host1x/cdma.c trace_host1x_cdma_end(dev_name(job->channel->dev)); job 80 drivers/gpu/host1x/cdma.h int host1x_cdma_begin(struct host1x_cdma *cdma, struct host1x_job *job); job 84 drivers/gpu/host1x/cdma.h void host1x_cdma_end(struct host1x_cdma *cdma, struct host1x_job *job); job 43 drivers/gpu/host1x/channel.c int host1x_job_submit(struct host1x_job *job) job 45 drivers/gpu/host1x/channel.c struct host1x *host = dev_get_drvdata(job->channel->dev->parent); job 47 drivers/gpu/host1x/channel.c return host1x_hw_channel_submit(host, job); job 33 drivers/gpu/host1x/dev.h int (*submit)(struct host1x_job *job); job 237 drivers/gpu/host1x/dev.h struct host1x_job *job) job 239 drivers/gpu/host1x/dev.h return host->channel_op->submit(job); job 50 drivers/gpu/host1x/hw/channel_hw.c static void submit_gathers(struct host1x_job *job) job 52 drivers/gpu/host1x/hw/channel_hw.c struct host1x_cdma *cdma = &job->channel->cdma; job 54 drivers/gpu/host1x/hw/channel_hw.c struct device *dev = job->channel->dev; job 58 drivers/gpu/host1x/hw/channel_hw.c for (i = 0; i < job->num_gathers; i++) { job 59 drivers/gpu/host1x/hw/channel_hw.c struct host1x_job_gather *g = &job->gathers[i]; job 87 drivers/gpu/host1x/hw/channel_hw.c static inline void synchronize_syncpt_base(struct host1x_job *job) job 89 drivers/gpu/host1x/hw/channel_hw.c struct host1x *host = dev_get_drvdata(job->channel->dev->parent); job 90 drivers/gpu/host1x/hw/channel_hw.c struct host1x_syncpt *sp = host->syncpt + job->syncpt_id; job 97 drivers/gpu/host1x/hw/channel_hw.c host1x_cdma_push(&job->channel->cdma, job 118 drivers/gpu/host1x/hw/channel_hw.c static int channel_submit(struct host1x_job *job) job 120 drivers/gpu/host1x/hw/channel_hw.c struct host1x_channel *ch = job->channel; job 122 drivers/gpu/host1x/hw/channel_hw.c u32 user_syncpt_incrs = job->syncpt_incrs; job 129 drivers/gpu/host1x/hw/channel_hw.c sp = host->syncpt + job->syncpt_id; job 131 drivers/gpu/host1x/hw/channel_hw.c job->num_gathers, job->num_relocs, job 132 drivers/gpu/host1x/hw/channel_hw.c job->syncpt_id, job->syncpt_incrs); job 135 drivers/gpu/host1x/hw/channel_hw.c prev_max = job->syncpt_end = host1x_syncpt_read_max(sp); job 152 drivers/gpu/host1x/hw/channel_hw.c err = host1x_cdma_begin(&ch->cdma, job); job 158 drivers/gpu/host1x/hw/channel_hw.c if (job->serialize) { job 166 drivers/gpu/host1x/hw/channel_hw.c host1x_class_host_wait_syncpt(job->syncpt_id, job 172 drivers/gpu/host1x/hw/channel_hw.c synchronize_syncpt_base(job); job 178 drivers/gpu/host1x/hw/channel_hw.c job->syncpt_end = syncval; job 181 drivers/gpu/host1x/hw/channel_hw.c if (job->class) job 183 drivers/gpu/host1x/hw/channel_hw.c host1x_opcode_setclass(job->class, 0, 0), job 186 drivers/gpu/host1x/hw/channel_hw.c submit_gathers(job); job 189 drivers/gpu/host1x/hw/channel_hw.c host1x_cdma_end(&ch->cdma, job); job 195 drivers/gpu/host1x/hw/debug_hw.c struct host1x_job *job; job 197 drivers/gpu/host1x/hw/debug_hw.c list_for_each_entry(job, &cdma->sync_queue, list) { job 201 drivers/gpu/host1x/hw/debug_hw.c job, job->syncpt_id, job->syncpt_end, job 202 drivers/gpu/host1x/hw/debug_hw.c job->first_get, job->timeout, job 203 drivers/gpu/host1x/hw/debug_hw.c job->num_slots, job->num_unpins); job 205 drivers/gpu/host1x/hw/debug_hw.c for (i = 0; i < job->num_gathers; i++) { job 206 drivers/gpu/host1x/hw/debug_hw.c struct host1x_job_gather *g = &job->gathers[i]; job 209 drivers/gpu/host1x/hw/debug_hw.c if (job->gather_copy_mapped) job 210 drivers/gpu/host1x/hw/debug_hw.c mapped = (u32 *)job->gather_copy_mapped; job 225 drivers/gpu/host1x/hw/debug_hw.c if (!job->gather_copy_mapped) job 28 drivers/gpu/host1x/job.c struct host1x_job *job = NULL; job 43 drivers/gpu/host1x/job.c mem = job = kzalloc(total, GFP_KERNEL); job 44 drivers/gpu/host1x/job.c if (!job) job 47 drivers/gpu/host1x/job.c kref_init(&job->ref); job 48 drivers/gpu/host1x/job.c job->channel = ch; job 52 drivers/gpu/host1x/job.c job->relocs = num_relocs ? mem : NULL; job 54 drivers/gpu/host1x/job.c job->unpins = num_unpins ? mem : NULL; job 56 drivers/gpu/host1x/job.c job->gathers = num_cmdbufs ? mem : NULL; job 58 drivers/gpu/host1x/job.c job->addr_phys = num_unpins ? mem : NULL; job 60 drivers/gpu/host1x/job.c job->reloc_addr_phys = job->addr_phys; job 61 drivers/gpu/host1x/job.c job->gather_addr_phys = &job->addr_phys[num_relocs]; job 63 drivers/gpu/host1x/job.c return job; job 67 drivers/gpu/host1x/job.c struct host1x_job *host1x_job_get(struct host1x_job *job) job 69 drivers/gpu/host1x/job.c kref_get(&job->ref); job 70 drivers/gpu/host1x/job.c return job; job 76 drivers/gpu/host1x/job.c struct host1x_job *job = container_of(ref, struct host1x_job, ref); job 78 drivers/gpu/host1x/job.c kfree(job); job 81 drivers/gpu/host1x/job.c void host1x_job_put(struct host1x_job *job) job 83 drivers/gpu/host1x/job.c kref_put(&job->ref, job_free); job 87 drivers/gpu/host1x/job.c void host1x_job_add_gather(struct host1x_job *job, struct host1x_bo *bo, job 90 drivers/gpu/host1x/job.c struct host1x_job_gather *gather = &job->gathers[job->num_gathers]; job 96 drivers/gpu/host1x/job.c job->num_gathers++; job 100 drivers/gpu/host1x/job.c static unsigned int pin_job(struct host1x *host, struct host1x_job *job) job 105 drivers/gpu/host1x/job.c job->num_unpins = 0; job 107 drivers/gpu/host1x/job.c for (i = 0; i < job->num_relocs; i++) { job 108 drivers/gpu/host1x/job.c struct host1x_reloc *reloc = &job->relocs[i]; job 120 drivers/gpu/host1x/job.c job->addr_phys[job->num_unpins] = phys_addr; job 121 drivers/gpu/host1x/job.c job->unpins[job->num_unpins].bo = reloc->target.bo; job 122 drivers/gpu/host1x/job.c job->unpins[job->num_unpins].sgt = sgt; job 123 drivers/gpu/host1x/job.c job->num_unpins++; job 126 drivers/gpu/host1x/job.c for (i = 0; i < job->num_gathers; i++) { job 127 drivers/gpu/host1x/job.c struct host1x_job_gather *g = &job->gathers[i]; job 166 drivers/gpu/host1x/job.c job->addr_phys[job->num_unpins] = job 168 drivers/gpu/host1x/job.c job->unpins[job->num_unpins].size = gather_size; job 170 drivers/gpu/host1x/job.c job->addr_phys[job->num_unpins] = phys_addr; job 173 drivers/gpu/host1x/job.c job->gather_addr_phys[i] = job->addr_phys[job->num_unpins]; job 175 drivers/gpu/host1x/job.c job->unpins[job->num_unpins].bo = g->bo; job 176 drivers/gpu/host1x/job.c job->unpins[job->num_unpins].sgt = sgt; job 177 drivers/gpu/host1x/job.c job->num_unpins++; job 183 drivers/gpu/host1x/job.c host1x_job_unpin(job); job 187 drivers/gpu/host1x/job.c static int do_relocs(struct host1x_job *job, struct host1x_job_gather *g) job 195 drivers/gpu/host1x/job.c for (i = 0; i < job->num_relocs; i++) { job 196 drivers/gpu/host1x/job.c struct host1x_reloc *reloc = &job->relocs[i]; job 197 drivers/gpu/host1x/job.c u32 reloc_addr = (job->reloc_addr_phys[i] + job 206 drivers/gpu/host1x/job.c target = (u32 *)job->gather_copy_mapped + job 254 drivers/gpu/host1x/job.c struct host1x_job *job; job 272 drivers/gpu/host1x/job.c if (!fw->job->is_addr_reg) job 275 drivers/gpu/host1x/job.c if (fw->job->is_addr_reg(fw->dev, fw->class, offset)) { job 291 drivers/gpu/host1x/job.c if (!fw->job->is_valid_class) { job 295 drivers/gpu/host1x/job.c if (!fw->job->is_valid_class(fw->class)) job 373 drivers/gpu/host1x/job.c u32 *cmdbuf_base = (u32 *)fw->job->gather_copy_mapped + job 439 drivers/gpu/host1x/job.c static inline int copy_gathers(struct device *host, struct host1x_job *job, job 447 drivers/gpu/host1x/job.c fw.job = job; job 449 drivers/gpu/host1x/job.c fw.reloc = job->relocs; job 450 drivers/gpu/host1x/job.c fw.num_relocs = job->num_relocs; job 451 drivers/gpu/host1x/job.c fw.class = job->class; job 453 drivers/gpu/host1x/job.c for (i = 0; i < job->num_gathers; i++) { job 454 drivers/gpu/host1x/job.c struct host1x_job_gather *g = &job->gathers[i]; job 463 drivers/gpu/host1x/job.c job->gather_copy_mapped = dma_alloc_wc(host, size, &job->gather_copy, job 467 drivers/gpu/host1x/job.c if (!job->gather_copy_mapped) job 468 drivers/gpu/host1x/job.c job->gather_copy_mapped = dma_alloc_wc(host, size, job 469 drivers/gpu/host1x/job.c &job->gather_copy, job 471 drivers/gpu/host1x/job.c if (!job->gather_copy_mapped) job 474 drivers/gpu/host1x/job.c job->gather_copy_size = size; job 476 drivers/gpu/host1x/job.c for (i = 0; i < job->num_gathers; i++) { job 477 drivers/gpu/host1x/job.c struct host1x_job_gather *g = &job->gathers[i]; job 482 drivers/gpu/host1x/job.c memcpy(job->gather_copy_mapped + offset, gather + g->offset, job 487 drivers/gpu/host1x/job.c g->base = job->gather_copy; job 504 drivers/gpu/host1x/job.c int host1x_job_pin(struct host1x_job *job, struct device *dev) job 511 drivers/gpu/host1x/job.c err = pin_job(host, job); job 516 drivers/gpu/host1x/job.c err = copy_gathers(host->dev, job, dev); job 522 drivers/gpu/host1x/job.c for (i = 0; i < job->num_gathers; i++) { job 523 drivers/gpu/host1x/job.c struct host1x_job_gather *g = &job->gathers[i]; job 531 drivers/gpu/host1x/job.c g->base = job->gather_addr_phys[i]; job 533 drivers/gpu/host1x/job.c for (j = i + 1; j < job->num_gathers; j++) { job 534 drivers/gpu/host1x/job.c if (job->gathers[j].bo == g->bo) { job 535 drivers/gpu/host1x/job.c job->gathers[j].handled = true; job 536 drivers/gpu/host1x/job.c job->gathers[j].base = g->base; job 540 drivers/gpu/host1x/job.c err = do_relocs(job, g); job 547 drivers/gpu/host1x/job.c host1x_job_unpin(job); job 554 drivers/gpu/host1x/job.c void host1x_job_unpin(struct host1x_job *job) job 556 drivers/gpu/host1x/job.c struct host1x *host = dev_get_drvdata(job->channel->dev->parent); job 559 drivers/gpu/host1x/job.c for (i = 0; i < job->num_unpins; i++) { job 560 drivers/gpu/host1x/job.c struct host1x_job_unpin_data *unpin = &job->unpins[i]; job 564 drivers/gpu/host1x/job.c iommu_unmap(host->domain, job->addr_phys[i], job 567 drivers/gpu/host1x/job.c iova_pfn(&host->iova, job->addr_phys[i])); job 574 drivers/gpu/host1x/job.c job->num_unpins = 0; job 576 drivers/gpu/host1x/job.c if (job->gather_copy_size) job 577 drivers/gpu/host1x/job.c dma_free_wc(host->dev, job->gather_copy_size, job 578 drivers/gpu/host1x/job.c job->gather_copy_mapped, job->gather_copy); job 585 drivers/gpu/host1x/job.c void host1x_job_dump(struct device *dev, struct host1x_job *job) job 587 drivers/gpu/host1x/job.c dev_dbg(dev, " SYNCPT_ID %d\n", job->syncpt_id); job 588 drivers/gpu/host1x/job.c dev_dbg(dev, " SYNCPT_VAL %d\n", job->syncpt_end); job 589 drivers/gpu/host1x/job.c dev_dbg(dev, " FIRST_GET 0x%x\n", job->first_get); job 590 drivers/gpu/host1x/job.c dev_dbg(dev, " TIMEOUT %d\n", job->timeout); job 591 drivers/gpu/host1x/job.c dev_dbg(dev, " NUM_SLOTS %d\n", job->num_slots); job 592 drivers/gpu/host1x/job.c dev_dbg(dev, " NUM_HANDLES %d\n", job->num_unpins); job 28 drivers/gpu/host1x/job.h void host1x_job_dump(struct device *dev, struct host1x_job *job); job 414 drivers/md/dm-kcopyd.c struct kcopyd_job *job; job 420 drivers/md/dm-kcopyd.c list_for_each_entry(job, jobs, list) { job 421 drivers/md/dm-kcopyd.c if (job->rw == READ || !test_bit(DM_KCOPYD_WRITE_SEQ, &job->flags)) { job 422 drivers/md/dm-kcopyd.c list_del(&job->list); job 423 drivers/md/dm-kcopyd.c return job; job 426 drivers/md/dm-kcopyd.c if (job->write_offset == job->master_job->write_offset) { job 427 drivers/md/dm-kcopyd.c job->master_job->write_offset += job->source.count; job 428 drivers/md/dm-kcopyd.c list_del(&job->list); job 429 drivers/md/dm-kcopyd.c return job; job 439 drivers/md/dm-kcopyd.c struct kcopyd_job *job = NULL; job 446 drivers/md/dm-kcopyd.c job = pop_io_job(jobs, kc); job 448 drivers/md/dm-kcopyd.c job = list_entry(jobs->next, struct kcopyd_job, list); job 449 drivers/md/dm-kcopyd.c list_del(&job->list); job 454 drivers/md/dm-kcopyd.c return job; job 457 drivers/md/dm-kcopyd.c static void push(struct list_head *jobs, struct kcopyd_job *job) job 460 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 463 drivers/md/dm-kcopyd.c list_add_tail(&job->list, jobs); job 468 drivers/md/dm-kcopyd.c static void push_head(struct list_head *jobs, struct kcopyd_job *job) job 471 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 474 drivers/md/dm-kcopyd.c list_add(&job->list, jobs); job 487 drivers/md/dm-kcopyd.c static int run_complete_job(struct kcopyd_job *job) job 489 drivers/md/dm-kcopyd.c void *context = job->context; job 490 drivers/md/dm-kcopyd.c int read_err = job->read_err; job 491 drivers/md/dm-kcopyd.c unsigned long write_err = job->write_err; job 492 drivers/md/dm-kcopyd.c dm_kcopyd_notify_fn fn = job->fn; job 493 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 495 drivers/md/dm-kcopyd.c if (job->pages && job->pages != &zero_page_list) job 496 drivers/md/dm-kcopyd.c kcopyd_put_pages(kc, job->pages); job 501 drivers/md/dm-kcopyd.c if (job->master_job == job) { job 502 drivers/md/dm-kcopyd.c mutex_destroy(&job->lock); job 503 drivers/md/dm-kcopyd.c mempool_free(job, &kc->job_pool); job 517 drivers/md/dm-kcopyd.c struct kcopyd_job *job = (struct kcopyd_job *) context; job 518 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 523 drivers/md/dm-kcopyd.c if (op_is_write(job->rw)) job 524 drivers/md/dm-kcopyd.c job->write_err |= error; job 526 drivers/md/dm-kcopyd.c job->read_err = 1; job 528 drivers/md/dm-kcopyd.c if (!test_bit(DM_KCOPYD_IGNORE_ERROR, &job->flags)) { job 529 drivers/md/dm-kcopyd.c push(&kc->complete_jobs, job); job 535 drivers/md/dm-kcopyd.c if (op_is_write(job->rw)) job 536 drivers/md/dm-kcopyd.c push(&kc->complete_jobs, job); job 539 drivers/md/dm-kcopyd.c job->rw = WRITE; job 540 drivers/md/dm-kcopyd.c push(&kc->io_jobs, job); job 550 drivers/md/dm-kcopyd.c static int run_io_job(struct kcopyd_job *job) job 554 drivers/md/dm-kcopyd.c .bi_op = job->rw, job 557 drivers/md/dm-kcopyd.c .mem.ptr.pl = job->pages, job 560 drivers/md/dm-kcopyd.c .notify.context = job, job 561 drivers/md/dm-kcopyd.c .client = job->kc->io_client, job 568 drivers/md/dm-kcopyd.c if (test_bit(DM_KCOPYD_WRITE_SEQ, &job->flags) && job 569 drivers/md/dm-kcopyd.c job->master_job->write_err) { job 570 drivers/md/dm-kcopyd.c job->write_err = job->master_job->write_err; job 574 drivers/md/dm-kcopyd.c io_job_start(job->kc->throttle); job 576 drivers/md/dm-kcopyd.c if (job->rw == READ) job 577 drivers/md/dm-kcopyd.c r = dm_io(&io_req, 1, &job->source, NULL); job 579 drivers/md/dm-kcopyd.c r = dm_io(&io_req, job->num_dests, job->dests, NULL); job 584 drivers/md/dm-kcopyd.c static int run_pages_job(struct kcopyd_job *job) job 587 drivers/md/dm-kcopyd.c unsigned nr_pages = dm_div_up(job->dests[0].count, PAGE_SIZE >> 9); job 589 drivers/md/dm-kcopyd.c r = kcopyd_get_pages(job->kc, nr_pages, &job->pages); job 592 drivers/md/dm-kcopyd.c push(&job->kc->io_jobs, job); job 610 drivers/md/dm-kcopyd.c struct kcopyd_job *job; job 613 drivers/md/dm-kcopyd.c while ((job = pop(jobs, kc))) { job 615 drivers/md/dm-kcopyd.c r = fn(job); job 619 drivers/md/dm-kcopyd.c if (op_is_write(job->rw)) job 620 drivers/md/dm-kcopyd.c job->write_err = (unsigned long) -1L; job 622 drivers/md/dm-kcopyd.c job->read_err = 1; job 623 drivers/md/dm-kcopyd.c push(&kc->complete_jobs, job); job 633 drivers/md/dm-kcopyd.c push_head(jobs, job); job 676 drivers/md/dm-kcopyd.c static void dispatch_job(struct kcopyd_job *job) job 678 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 680 drivers/md/dm-kcopyd.c if (unlikely(!job->source.count)) job 681 drivers/md/dm-kcopyd.c push(&kc->callback_jobs, job); job 682 drivers/md/dm-kcopyd.c else if (job->pages == &zero_page_list) job 683 drivers/md/dm-kcopyd.c push(&kc->io_jobs, job); job 685 drivers/md/dm-kcopyd.c push(&kc->pages_jobs, job); job 696 drivers/md/dm-kcopyd.c struct kcopyd_job *job = sub_job->master_job; job 697 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 699 drivers/md/dm-kcopyd.c mutex_lock(&job->lock); job 703 drivers/md/dm-kcopyd.c job->read_err = 1; job 706 drivers/md/dm-kcopyd.c job->write_err |= write_err; job 711 drivers/md/dm-kcopyd.c if ((!job->read_err && !job->write_err) || job 712 drivers/md/dm-kcopyd.c test_bit(DM_KCOPYD_IGNORE_ERROR, &job->flags)) { job 714 drivers/md/dm-kcopyd.c progress = job->progress; job 715 drivers/md/dm-kcopyd.c count = job->source.count - progress; job 720 drivers/md/dm-kcopyd.c job->progress += count; job 723 drivers/md/dm-kcopyd.c mutex_unlock(&job->lock); job 728 drivers/md/dm-kcopyd.c *sub_job = *job; job 733 drivers/md/dm-kcopyd.c for (i = 0; i < job->num_dests; i++) { job 742 drivers/md/dm-kcopyd.c } else if (atomic_dec_and_test(&job->sub_jobs)) { job 753 drivers/md/dm-kcopyd.c push(&kc->complete_jobs, job); job 778 drivers/md/dm-kcopyd.c struct kcopyd_job *job; job 785 drivers/md/dm-kcopyd.c job = mempool_alloc(&kc->job_pool, GFP_NOIO); job 786 drivers/md/dm-kcopyd.c mutex_init(&job->lock); job 791 drivers/md/dm-kcopyd.c job->kc = kc; job 792 drivers/md/dm-kcopyd.c job->flags = flags; job 793 drivers/md/dm-kcopyd.c job->read_err = 0; job 794 drivers/md/dm-kcopyd.c job->write_err = 0; job 796 drivers/md/dm-kcopyd.c job->num_dests = num_dests; job 797 drivers/md/dm-kcopyd.c memcpy(&job->dests, dests, sizeof(*dests) * num_dests); job 804 drivers/md/dm-kcopyd.c if (!test_bit(DM_KCOPYD_WRITE_SEQ, &job->flags)) { job 805 drivers/md/dm-kcopyd.c for (i = 0; i < job->num_dests; i++) { job 807 drivers/md/dm-kcopyd.c set_bit(DM_KCOPYD_WRITE_SEQ, &job->flags); job 816 drivers/md/dm-kcopyd.c if (test_bit(DM_KCOPYD_WRITE_SEQ, &job->flags) && job 817 drivers/md/dm-kcopyd.c test_bit(DM_KCOPYD_IGNORE_ERROR, &job->flags)) job 818 drivers/md/dm-kcopyd.c clear_bit(DM_KCOPYD_IGNORE_ERROR, &job->flags); job 821 drivers/md/dm-kcopyd.c job->source = *from; job 822 drivers/md/dm-kcopyd.c job->pages = NULL; job 823 drivers/md/dm-kcopyd.c job->rw = READ; job 825 drivers/md/dm-kcopyd.c memset(&job->source, 0, sizeof job->source); job 826 drivers/md/dm-kcopyd.c job->source.count = job->dests[0].count; job 827 drivers/md/dm-kcopyd.c job->pages = &zero_page_list; job 832 drivers/md/dm-kcopyd.c job->rw = REQ_OP_WRITE_ZEROES; job 833 drivers/md/dm-kcopyd.c for (i = 0; i < job->num_dests; i++) job 834 drivers/md/dm-kcopyd.c if (!bdev_write_zeroes_sectors(job->dests[i].bdev)) { job 835 drivers/md/dm-kcopyd.c job->rw = WRITE; job 840 drivers/md/dm-kcopyd.c job->fn = fn; job 841 drivers/md/dm-kcopyd.c job->context = context; job 842 drivers/md/dm-kcopyd.c job->master_job = job; job 843 drivers/md/dm-kcopyd.c job->write_offset = 0; job 845 drivers/md/dm-kcopyd.c if (job->source.count <= kc->sub_job_size) job 846 drivers/md/dm-kcopyd.c dispatch_job(job); job 848 drivers/md/dm-kcopyd.c job->progress = 0; job 849 drivers/md/dm-kcopyd.c split_job(job); job 865 drivers/md/dm-kcopyd.c struct kcopyd_job *job; job 867 drivers/md/dm-kcopyd.c job = mempool_alloc(&kc->job_pool, GFP_NOIO); job 869 drivers/md/dm-kcopyd.c memset(job, 0, sizeof(struct kcopyd_job)); job 870 drivers/md/dm-kcopyd.c job->kc = kc; job 871 drivers/md/dm-kcopyd.c job->fn = fn; job 872 drivers/md/dm-kcopyd.c job->context = context; job 873 drivers/md/dm-kcopyd.c job->master_job = job; job 877 drivers/md/dm-kcopyd.c return job; job 883 drivers/md/dm-kcopyd.c struct kcopyd_job *job = j; job 884 drivers/md/dm-kcopyd.c struct dm_kcopyd_client *kc = job->kc; job 886 drivers/md/dm-kcopyd.c job->read_err = read_err; job 887 drivers/md/dm-kcopyd.c job->write_err = write_err; job 889 drivers/md/dm-kcopyd.c push(&kc->callback_jobs, job); job 899 drivers/md/dm-kcopyd.c int kcopyd_cancel(struct kcopyd_job *job, int block) job 655 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job; job 659 drivers/media/platform/rcar_fdp1.c job = list_first_entry_or_null(list, struct fdp1_job, list); job 660 drivers/media/platform/rcar_fdp1.c if (job) job 661 drivers/media/platform/rcar_fdp1.c list_del(&job->list); job 664 drivers/media/platform/rcar_fdp1.c return job; job 674 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job) job 679 drivers/media/platform/rcar_fdp1.c list_add_tail(&job->list, list); job 688 drivers/media/platform/rcar_fdp1.c static void fdp1_job_free(struct fdp1_dev *fdp1, struct fdp1_job *job) job 691 drivers/media/platform/rcar_fdp1.c memset(job, 0, sizeof(struct fdp1_job)); job 693 drivers/media/platform/rcar_fdp1.c list_add_job(fdp1, &fdp1->free_job_list, job); job 696 drivers/media/platform/rcar_fdp1.c static void queue_job(struct fdp1_dev *fdp1, struct fdp1_job *job) job 698 drivers/media/platform/rcar_fdp1.c list_add_job(fdp1, &fdp1->queued_job_list, job); job 706 drivers/media/platform/rcar_fdp1.c static void queue_hw_job(struct fdp1_dev *fdp1, struct fdp1_job *job) job 708 drivers/media/platform/rcar_fdp1.c list_add_job(fdp1, &fdp1->hw_job_list, job); job 880 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job) job 907 drivers/media/platform/rcar_fdp1.c if (job->active->field == V4L2_FIELD_BOTTOM) { job 925 drivers/media/platform/rcar_fdp1.c if (job->previous) job 926 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->previous->addrs[0], FD1_RPF0_ADDR_Y); job 929 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->active->addrs[0], FD1_RPF1_ADDR_Y); job 930 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->active->addrs[1], FD1_RPF1_ADDR_C0); job 931 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->active->addrs[2], FD1_RPF1_ADDR_C1); job 934 drivers/media/platform/rcar_fdp1.c if (job->next) job 935 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->next->addrs[0], FD1_RPF2_ADDR_Y); job 939 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job) job 994 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->dst->addrs[0], FD1_WPF_ADDR_Y); job 995 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->dst->addrs[1], FD1_WPF_ADDR_C0); job 996 drivers/media/platform/rcar_fdp1.c fdp1_write(fdp1, job->dst->addrs[2], FD1_WPF_ADDR_C1); job 1000 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job) job 1070 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job; job 1076 drivers/media/platform/rcar_fdp1.c job = get_queued_job(fdp1); job 1077 drivers/media/platform/rcar_fdp1.c if (!job) { job 1090 drivers/media/platform/rcar_fdp1.c fdp1_configure_deint_mode(ctx, job); job 1099 drivers/media/platform/rcar_fdp1.c fdp1_configure_rpf(ctx, job); job 1102 drivers/media/platform/rcar_fdp1.c fdp1_configure_wpf(ctx, job); job 1113 drivers/media/platform/rcar_fdp1.c queue_hw_job(fdp1, job); job 1185 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job; job 1196 drivers/media/platform/rcar_fdp1.c job = fdp1_job_alloc(fdp1); job 1197 drivers/media/platform/rcar_fdp1.c if (!job) { job 1202 drivers/media/platform/rcar_fdp1.c job->active = fdp1_dequeue_field(ctx); job 1203 drivers/media/platform/rcar_fdp1.c if (!job->active) { job 1207 drivers/media/platform/rcar_fdp1.c fdp1_job_free(fdp1, job); job 1218 drivers/media/platform/rcar_fdp1.c job->dst = &fbuf->fields[0]; job 1220 drivers/media/platform/rcar_fdp1.c job->active->vb->sequence = ctx->sequence; job 1221 drivers/media/platform/rcar_fdp1.c job->dst->vb->sequence = ctx->sequence; job 1225 drivers/media/platform/rcar_fdp1.c job->previous = ctx->previous; job 1228 drivers/media/platform/rcar_fdp1.c ctx->previous = job->active; job 1233 drivers/media/platform/rcar_fdp1.c job->next = fdp1_peek_queued_field(ctx); job 1238 drivers/media/platform/rcar_fdp1.c job->dst->vb->vb2_buf.timestamp = job->active->vb->vb2_buf.timestamp; job 1240 drivers/media/platform/rcar_fdp1.c job->dst->vb->flags = job->active->vb->flags & job 1249 drivers/media/platform/rcar_fdp1.c queue_job(fdp1, job); job 1253 drivers/media/platform/rcar_fdp1.c return job; job 1310 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job = get_hw_queued_job(fdp1); job 1329 drivers/media/platform/rcar_fdp1.c fdp1_field_complete(ctx, job->previous); job 1331 drivers/media/platform/rcar_fdp1.c fdp1_field_complete(ctx, job->active); job 1334 drivers/media/platform/rcar_fdp1.c v4l2_m2m_buf_done(job->dst->vb, state); job 1335 drivers/media/platform/rcar_fdp1.c job->dst = NULL; job 1339 drivers/media/platform/rcar_fdp1.c fdp1_job_free(fdp1, job); job 2007 drivers/media/platform/rcar_fdp1.c struct fdp1_job *job; job 2009 drivers/media/platform/rcar_fdp1.c job = get_queued_job(ctx->fdp1); job 2010 drivers/media/platform/rcar_fdp1.c while (job) { job 2012 drivers/media/platform/rcar_fdp1.c fdp1_field_complete(ctx, job->previous); job 2014 drivers/media/platform/rcar_fdp1.c fdp1_field_complete(ctx, job->active); job 2016 drivers/media/platform/rcar_fdp1.c v4l2_m2m_buf_done(job->dst->vb, VB2_BUF_STATE_ERROR); job 2017 drivers/media/platform/rcar_fdp1.c job->dst = NULL; job 2019 drivers/media/platform/rcar_fdp1.c job = get_queued_job(ctx->fdp1); job 2212 drivers/message/fusion/mptsas.c static void mptsas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost, job 2226 drivers/message/fusion/mptsas.c if (job->request_payload.sg_cnt > 1 || job 2227 drivers/message/fusion/mptsas.c job->reply_payload.sg_cnt > 1) { job 2229 drivers/message/fusion/mptsas.c ioc->name, __func__, job->request_payload.payload_len, job 2230 drivers/message/fusion/mptsas.c job->reply_payload.payload_len); job 2248 drivers/message/fusion/mptsas.c cpu_to_le16(job->request_payload.payload_len - 4); job 2275 drivers/message/fusion/mptsas.c if (!dma_map_sg(&ioc->pcidev->dev, job->request_payload.sg_list, job 2279 drivers/message/fusion/mptsas.c flagsLength |= (sg_dma_len(job->request_payload.sg_list) - 4); job 2281 drivers/message/fusion/mptsas.c sg_dma_address(job->request_payload.sg_list)); job 2292 drivers/message/fusion/mptsas.c if (!dma_map_sg(&ioc->pcidev->dev, job->reply_payload.sg_list, job 2295 drivers/message/fusion/mptsas.c flagsLength |= sg_dma_len(job->reply_payload.sg_list) + 4; job 2297 drivers/message/fusion/mptsas.c sg_dma_address(job->reply_payload.sg_list)); job 2319 drivers/message/fusion/mptsas.c memcpy(job->reply, smprep, sizeof(*smprep)); job 2320 drivers/message/fusion/mptsas.c job->reply_len = sizeof(*smprep); job 2330 drivers/message/fusion/mptsas.c dma_unmap_sg(&ioc->pcidev->dev, job->reply_payload.sg_list, 1, job 2333 drivers/message/fusion/mptsas.c dma_unmap_sg(&ioc->pcidev->dev, job->request_payload.sg_list, 1, job 2342 drivers/message/fusion/mptsas.c bsg_job_done(job, ret, reslen); job 79 drivers/misc/habanalabs/command_submission.c static int cs_parser(struct hl_fpriv *hpriv, struct hl_cs_job *job) job 85 drivers/misc/habanalabs/command_submission.c parser.ctx_id = job->cs->ctx->asid; job 86 drivers/misc/habanalabs/command_submission.c parser.cs_sequence = job->cs->sequence; job 87 drivers/misc/habanalabs/command_submission.c parser.job_id = job->id; job 89 drivers/misc/habanalabs/command_submission.c parser.hw_queue_id = job->hw_queue_id; job 90 drivers/misc/habanalabs/command_submission.c parser.job_userptr_list = &job->userptr_list; job 92 drivers/misc/habanalabs/command_submission.c parser.user_cb = job->user_cb; job 93 drivers/misc/habanalabs/command_submission.c parser.user_cb_size = job->user_cb_size; job 94 drivers/misc/habanalabs/command_submission.c parser.ext_queue = job->ext_queue; job 95 drivers/misc/habanalabs/command_submission.c job->patched_cb = NULL; job 98 drivers/misc/habanalabs/command_submission.c if (job->ext_queue) { job 100 drivers/misc/habanalabs/command_submission.c job->patched_cb = parser.patched_cb; job 101 drivers/misc/habanalabs/command_submission.c job->job_cb_size = parser.patched_cb_size; job 103 drivers/misc/habanalabs/command_submission.c spin_lock(&job->patched_cb->lock); job 104 drivers/misc/habanalabs/command_submission.c job->patched_cb->cs_cnt++; job 105 drivers/misc/habanalabs/command_submission.c spin_unlock(&job->patched_cb->lock); job 113 drivers/misc/habanalabs/command_submission.c spin_lock(&job->user_cb->lock); job 114 drivers/misc/habanalabs/command_submission.c job->user_cb->cs_cnt--; job 115 drivers/misc/habanalabs/command_submission.c spin_unlock(&job->user_cb->lock); job 116 drivers/misc/habanalabs/command_submission.c hl_cb_put(job->user_cb); job 117 drivers/misc/habanalabs/command_submission.c job->user_cb = NULL; job 123 drivers/misc/habanalabs/command_submission.c static void free_job(struct hl_device *hdev, struct hl_cs_job *job) job 125 drivers/misc/habanalabs/command_submission.c struct hl_cs *cs = job->cs; job 127 drivers/misc/habanalabs/command_submission.c if (job->ext_queue) { job 128 drivers/misc/habanalabs/command_submission.c hl_userptr_delete_list(hdev, &job->userptr_list); job 134 drivers/misc/habanalabs/command_submission.c if (job->patched_cb) { job 135 drivers/misc/habanalabs/command_submission.c spin_lock(&job->patched_cb->lock); job 136 drivers/misc/habanalabs/command_submission.c job->patched_cb->cs_cnt--; job 137 drivers/misc/habanalabs/command_submission.c spin_unlock(&job->patched_cb->lock); job 139 drivers/misc/habanalabs/command_submission.c hl_cb_put(job->patched_cb); job 148 drivers/misc/habanalabs/command_submission.c list_del(&job->cs_node); job 151 drivers/misc/habanalabs/command_submission.c hl_debugfs_remove_job(hdev, job); job 153 drivers/misc/habanalabs/command_submission.c if (job->ext_queue) job 156 drivers/misc/habanalabs/command_submission.c kfree(job); job 164 drivers/misc/habanalabs/command_submission.c struct hl_cs_job *job, *tmp; job 176 drivers/misc/habanalabs/command_submission.c list_for_each_entry_safe(job, tmp, &cs->job_list, cs_node) job 177 drivers/misc/habanalabs/command_submission.c free_job(hdev, job); job 354 drivers/misc/habanalabs/command_submission.c struct hl_cs_job *job, *tmp; job 356 drivers/misc/habanalabs/command_submission.c list_for_each_entry_safe(job, tmp, &cs->job_list, cs_node) job 357 drivers/misc/habanalabs/command_submission.c free_job(hdev, job); job 381 drivers/misc/habanalabs/command_submission.c struct hl_cs_job *job = container_of(work, struct hl_cs_job, job 383 drivers/misc/habanalabs/command_submission.c struct hl_cs *cs = job->cs; job 387 drivers/misc/habanalabs/command_submission.c free_job(hdev, job); job 449 drivers/misc/habanalabs/command_submission.c struct hl_cs_job *job; job 451 drivers/misc/habanalabs/command_submission.c job = kzalloc(sizeof(*job), GFP_ATOMIC); job 452 drivers/misc/habanalabs/command_submission.c if (!job) job 455 drivers/misc/habanalabs/command_submission.c job->ext_queue = ext_queue; job 457 drivers/misc/habanalabs/command_submission.c if (job->ext_queue) { job 458 drivers/misc/habanalabs/command_submission.c INIT_LIST_HEAD(&job->userptr_list); job 459 drivers/misc/habanalabs/command_submission.c INIT_WORK(&job->finish_work, job_wq_completion); job 462 drivers/misc/habanalabs/command_submission.c return job; job 470 drivers/misc/habanalabs/command_submission.c struct hl_cs_job *job; job 529 drivers/misc/habanalabs/command_submission.c job = hl_cs_allocate_job(hdev, ext_queue); job 530 drivers/misc/habanalabs/command_submission.c if (!job) { job 539 drivers/misc/habanalabs/command_submission.c job->id = i + 1; job 540 drivers/misc/habanalabs/command_submission.c job->cs = cs; job 541 drivers/misc/habanalabs/command_submission.c job->user_cb = cb; job 542 drivers/misc/habanalabs/command_submission.c job->user_cb_size = chunk->cb_size; job 543 drivers/misc/habanalabs/command_submission.c if (job->ext_queue) job 544 drivers/misc/habanalabs/command_submission.c job->job_cb_size = cb->size; job 546 drivers/misc/habanalabs/command_submission.c job->job_cb_size = chunk->cb_size; job 547 drivers/misc/habanalabs/command_submission.c job->hw_queue_id = chunk->queue_index; job 549 drivers/misc/habanalabs/command_submission.c cs->jobs_in_queue_cnt[job->hw_queue_id]++; job 551 drivers/misc/habanalabs/command_submission.c list_add_tail(&job->cs_node, &cs->job_list); job 559 drivers/misc/habanalabs/command_submission.c if (job->ext_queue) job 562 drivers/misc/habanalabs/command_submission.c hl_debugfs_add_job(hdev, job); job 564 drivers/misc/habanalabs/command_submission.c rc = cs_parser(hpriv, job); job 568 drivers/misc/habanalabs/command_submission.c cs->ctx->asid, cs->sequence, job->id, rc); job 162 drivers/misc/habanalabs/debugfs.c struct hl_cs_job *job; job 167 drivers/misc/habanalabs/debugfs.c list_for_each_entry(job, &dev_entry->cs_job_list, debugfs_list) { job 174 drivers/misc/habanalabs/debugfs.c if (job->cs) job 177 drivers/misc/habanalabs/debugfs.c job->id, job->cs->sequence, job->cs->ctx->asid, job 178 drivers/misc/habanalabs/debugfs.c job->hw_queue_id); job 182 drivers/misc/habanalabs/debugfs.c job->id, HL_KERNEL_ASID_ID, job->hw_queue_id); job 1108 drivers/misc/habanalabs/debugfs.c void hl_debugfs_add_job(struct hl_device *hdev, struct hl_cs_job *job) job 1113 drivers/misc/habanalabs/debugfs.c list_add(&job->debugfs_list, &dev_entry->cs_job_list); job 1117 drivers/misc/habanalabs/debugfs.c void hl_debugfs_remove_job(struct hl_device *hdev, struct hl_cs_job *job) job 1122 drivers/misc/habanalabs/debugfs.c list_del(&job->debugfs_list); job 2881 drivers/misc/habanalabs/goya/goya.c static int goya_send_job_on_qman0(struct hl_device *hdev, struct hl_cs_job *job) job 2911 drivers/misc/habanalabs/goya/goya.c cb = job->patched_cb; job 2914 drivers/misc/habanalabs/goya/goya.c job->job_cb_size - sizeof(struct packet_msg_prot)); job 2924 drivers/misc/habanalabs/goya/goya.c job->job_cb_size, cb->bus_address); job 4612 drivers/misc/habanalabs/goya/goya.c struct hl_cs_job *job; job 4650 drivers/misc/habanalabs/goya/goya.c job = hl_cs_allocate_job(hdev, true); job 4651 drivers/misc/habanalabs/goya/goya.c if (!job) { job 4657 drivers/misc/habanalabs/goya/goya.c job->id = 0; job 4658 drivers/misc/habanalabs/goya/goya.c job->user_cb = cb; job 4659 drivers/misc/habanalabs/goya/goya.c job->user_cb->cs_cnt++; job 4660 drivers/misc/habanalabs/goya/goya.c job->user_cb_size = cb_size; job 4661 drivers/misc/habanalabs/goya/goya.c job->hw_queue_id = GOYA_QUEUE_ID_DMA_0; job 4662 drivers/misc/habanalabs/goya/goya.c job->patched_cb = job->user_cb; job 4663 drivers/misc/habanalabs/goya/goya.c job->job_cb_size = job->user_cb_size; job 4665 drivers/misc/habanalabs/goya/goya.c hl_debugfs_add_job(hdev, job); job 4667 drivers/misc/habanalabs/goya/goya.c rc = goya_send_job_on_qman0(hdev, job); job 4669 drivers/misc/habanalabs/goya/goya.c hl_debugfs_remove_job(hdev, job); job 4670 drivers/misc/habanalabs/goya/goya.c kfree(job); job 1582 drivers/misc/habanalabs/habanalabs.h void hl_debugfs_add_job(struct hl_device *hdev, struct hl_cs_job *job); job 1583 drivers/misc/habanalabs/habanalabs.h void hl_debugfs_remove_job(struct hl_device *hdev, struct hl_cs_job *job); job 1633 drivers/misc/habanalabs/habanalabs.h struct hl_cs_job *job) job 1638 drivers/misc/habanalabs/habanalabs.h struct hl_cs_job *job) job 230 drivers/misc/habanalabs/hw_queue.c static void ext_hw_queue_schedule_job(struct hl_cs_job *job) job 232 drivers/misc/habanalabs/hw_queue.c struct hl_device *hdev = job->cs->ctx->hdev; job 233 drivers/misc/habanalabs/hw_queue.c struct hl_hw_queue *q = &hdev->kernel_queues[job->hw_queue_id]; job 248 drivers/misc/habanalabs/hw_queue.c cb = job->patched_cb; job 249 drivers/misc/habanalabs/hw_queue.c len = job->job_cb_size; job 273 drivers/misc/habanalabs/hw_queue.c q->shadow_queue[hl_pi_2_offset(q->pi)] = job; job 288 drivers/misc/habanalabs/hw_queue.c static void int_hw_queue_schedule_job(struct hl_cs_job *job) job 290 drivers/misc/habanalabs/hw_queue.c struct hl_device *hdev = job->cs->ctx->hdev; job 291 drivers/misc/habanalabs/hw_queue.c struct hl_hw_queue *q = &hdev->kernel_queues[job->hw_queue_id]; job 296 drivers/misc/habanalabs/hw_queue.c bd.len = cpu_to_le32(job->job_cb_size); job 297 drivers/misc/habanalabs/hw_queue.c bd.ptr = cpu_to_le64((u64) (uintptr_t) job->user_cb); job 319 drivers/misc/habanalabs/hw_queue.c struct hl_cs_job *job, *tmp; job 375 drivers/misc/habanalabs/hw_queue.c list_for_each_entry_safe(job, tmp, &cs->job_list, cs_node) job 376 drivers/misc/habanalabs/hw_queue.c if (job->ext_queue) job 377 drivers/misc/habanalabs/hw_queue.c ext_hw_queue_schedule_job(job); job 379 drivers/misc/habanalabs/hw_queue.c int_hw_queue_schedule_job(job); job 80 drivers/misc/habanalabs/irq.c struct hl_cs_job *job; job 120 drivers/misc/habanalabs/irq.c job = queue->shadow_queue[hl_pi_2_offset(shadow_index)]; job 121 drivers/misc/habanalabs/irq.c queue_work(hdev->cq_wq, &job->finish_work); job 948 drivers/s390/scsi/zfcp_fc.c struct bsg_job *job = data; job 949 drivers/s390/scsi/zfcp_fc.c struct zfcp_fsf_ct_els *zfcp_ct_els = job->dd_data; job 950 drivers/s390/scsi/zfcp_fc.c struct fc_bsg_reply *jr = job->reply; job 952 drivers/s390/scsi/zfcp_fc.c jr->reply_payload_rcv_len = job->reply_payload.payload_len; job 955 drivers/s390/scsi/zfcp_fc.c bsg_job_done(job, jr->result, jr->reply_payload_rcv_len); job 958 drivers/s390/scsi/zfcp_fc.c static struct zfcp_fc_wka_port *zfcp_fc_job_wka_port(struct bsg_job *job) job 963 drivers/s390/scsi/zfcp_fc.c struct fc_bsg_request *bsg_request = job->request; job 964 drivers/s390/scsi/zfcp_fc.c struct fc_rport *rport = fc_bsg_to_rport(job); job 970 drivers/s390/scsi/zfcp_fc.c shost = rport ? rport_to_shost(rport) : fc_bsg_to_shost(job); job 991 drivers/s390/scsi/zfcp_fc.c struct bsg_job *job = data; job 994 drivers/s390/scsi/zfcp_fc.c wka_port = zfcp_fc_job_wka_port(job); job 1000 drivers/s390/scsi/zfcp_fc.c static int zfcp_fc_exec_els_job(struct bsg_job *job, job 1003 drivers/s390/scsi/zfcp_fc.c struct zfcp_fsf_ct_els *els = job->dd_data; job 1004 drivers/s390/scsi/zfcp_fc.c struct fc_rport *rport = fc_bsg_to_rport(job); job 1005 drivers/s390/scsi/zfcp_fc.c struct fc_bsg_request *bsg_request = job->request; job 1020 drivers/s390/scsi/zfcp_fc.c return zfcp_fsf_send_els(adapter, d_id, els, job->timeout / HZ); job 1023 drivers/s390/scsi/zfcp_fc.c static int zfcp_fc_exec_ct_job(struct bsg_job *job, job 1027 drivers/s390/scsi/zfcp_fc.c struct zfcp_fsf_ct_els *ct = job->dd_data; job 1030 drivers/s390/scsi/zfcp_fc.c wka_port = zfcp_fc_job_wka_port(job); job 1039 drivers/s390/scsi/zfcp_fc.c ret = zfcp_fsf_send_ct(wka_port, ct, NULL, job->timeout / HZ); job 1046 drivers/s390/scsi/zfcp_fc.c int zfcp_fc_exec_bsg_job(struct bsg_job *job) job 1050 drivers/s390/scsi/zfcp_fc.c struct zfcp_fsf_ct_els *ct_els = job->dd_data; job 1051 drivers/s390/scsi/zfcp_fc.c struct fc_bsg_request *bsg_request = job->request; job 1052 drivers/s390/scsi/zfcp_fc.c struct fc_rport *rport = fc_bsg_to_rport(job); job 1054 drivers/s390/scsi/zfcp_fc.c shost = rport ? rport_to_shost(rport) : fc_bsg_to_shost(job); job 1060 drivers/s390/scsi/zfcp_fc.c ct_els->req = job->request_payload.sg_list; job 1061 drivers/s390/scsi/zfcp_fc.c ct_els->resp = job->reply_payload.sg_list; job 1062 drivers/s390/scsi/zfcp_fc.c ct_els->handler_data = job; job 1067 drivers/s390/scsi/zfcp_fc.c return zfcp_fc_exec_els_job(job, adapter); job 1070 drivers/s390/scsi/zfcp_fc.c return zfcp_fc_exec_ct_job(job, adapter); job 1076 drivers/s390/scsi/zfcp_fc.c int zfcp_fc_timeout_bsg_job(struct bsg_job *job) job 4814 drivers/scsi/be2iscsi/be_main.c static int beiscsi_bsg_request(struct bsg_job *job) job 4818 drivers/scsi/be2iscsi/be_main.c struct iscsi_bsg_request *bsg_req = job->request; job 4823 drivers/scsi/be2iscsi/be_main.c struct iscsi_bsg_reply *bsg_reply = job->reply; job 4826 drivers/scsi/be2iscsi/be_main.c shost = iscsi_job_to_shost(job); job 4838 drivers/scsi/be2iscsi/be_main.c job->request_payload.payload_len, job 4846 drivers/scsi/be2iscsi/be_main.c tag = mgmt_vendor_specific_fw_cmd(&phba->ctrl, phba, job, job 4875 drivers/scsi/be2iscsi/be_main.c sg_copy_from_buffer(job->reply_payload.sg_list, job 4876 drivers/scsi/be2iscsi/be_main.c job->reply_payload.sg_cnt, job 4881 drivers/scsi/be2iscsi/be_main.c bsg_job_done(job, bsg_reply->result, job 35 drivers/scsi/be2iscsi/be_mgmt.c struct bsg_job *job, job 41 drivers/scsi/be2iscsi/be_mgmt.c struct iscsi_bsg_request *bsg_req = job->request; job 45 drivers/scsi/be2iscsi/be_mgmt.c nonemb_cmd->size = job->request_payload.payload_len; job 62 drivers/scsi/be2iscsi/be_mgmt.c sg_copy_to_buffer(job->request_payload.sg_list, job 63 drivers/scsi/be2iscsi/be_mgmt.c job->request_payload.sg_cnt, job 64 drivers/scsi/be2iscsi/be_mgmt.c nonemb_cmd->va + offset, job->request_len); job 87 drivers/scsi/be2iscsi/be_mgmt.c job->request_payload.sg_cnt); job 36 drivers/scsi/be2iscsi/be_mgmt.h struct bsg_job *job, job 3123 drivers/scsi/bfa/bfad_bsg.c bfad_im_bsg_vendor_request(struct bsg_job *job) job 3125 drivers/scsi/bfa/bfad_bsg.c struct fc_bsg_request *bsg_request = job->request; job 3126 drivers/scsi/bfa/bfad_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 3128 drivers/scsi/bfa/bfad_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 3135 drivers/scsi/bfa/bfad_bsg.c payload_kbuf = kzalloc(job->request_payload.payload_len, GFP_KERNEL); job 3142 drivers/scsi/bfa/bfad_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 3143 drivers/scsi/bfa/bfad_bsg.c job->request_payload.sg_cnt, payload_kbuf, job 3144 drivers/scsi/bfa/bfad_bsg.c job->request_payload.payload_len); job 3148 drivers/scsi/bfa/bfad_bsg.c job->request_payload.payload_len); job 3153 drivers/scsi/bfa/bfad_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 3154 drivers/scsi/bfa/bfad_bsg.c job->reply_payload.sg_cnt, job 3156 drivers/scsi/bfa/bfad_bsg.c job->reply_payload.payload_len); job 3162 drivers/scsi/bfa/bfad_bsg.c job->reply_len = job->reply_payload.payload_len; job 3163 drivers/scsi/bfa/bfad_bsg.c bsg_reply->reply_payload_rcv_len = job->reply_payload.payload_len; job 3166 drivers/scsi/bfa/bfad_bsg.c bsg_job_done(job, bsg_reply->result, job 3174 drivers/scsi/bfa/bfad_bsg.c job->reply_len = sizeof(uint32_t); job 3302 drivers/scsi/bfa/bfad_bsg.c bfad_fcxp_bsg_send(struct bsg_job *job, struct bfad_fcxp *drv_fcxp, job 3332 drivers/scsi/bfa/bfad_bsg.c job->request_payload.payload_len, job 3334 drivers/scsi/bfa/bfad_bsg.c job->reply_payload.payload_len, bsg_fcpt->tsecs); job 3342 drivers/scsi/bfa/bfad_bsg.c bfad_im_bsg_els_ct_request(struct bsg_job *job) job 3345 drivers/scsi/bfa/bfad_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 3352 drivers/scsi/bfa/bfad_bsg.c struct fc_bsg_request *bsg_request = job->request; job 3353 drivers/scsi/bfa/bfad_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 3360 drivers/scsi/bfa/bfad_bsg.c job->reply_len = sizeof(uint32_t); /* Atleast uint32_t reply_len */ job 3442 drivers/scsi/bfa/bfad_bsg.c req_kbuf = kzalloc(job->request_payload.payload_len, GFP_KERNEL); job 3450 drivers/scsi/bfa/bfad_bsg.c rsp_kbuf = kzalloc(job->reply_payload.payload_len, GFP_KERNEL); job 3459 drivers/scsi/bfa/bfad_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 3460 drivers/scsi/bfa/bfad_bsg.c job->request_payload.sg_cnt, req_kbuf, job 3461 drivers/scsi/bfa/bfad_bsg.c job->request_payload.payload_len); job 3464 drivers/scsi/bfa/bfad_bsg.c job->request_payload.payload_len, job 3480 drivers/scsi/bfa/bfad_bsg.c job->reply_payload.payload_len, job 3497 drivers/scsi/bfa/bfad_bsg.c rc = bfad_fcxp_bsg_send(job, drv_fcxp, bsg_fcpt); job 3508 drivers/scsi/bfa/bfad_bsg.c job->reply_len = drv_fcxp->rsp_len; job 3514 drivers/scsi/bfa/bfad_bsg.c job->reply_len = sizeof(uint32_t); job 3520 drivers/scsi/bfa/bfad_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 3521 drivers/scsi/bfa/bfad_bsg.c job->reply_payload.sg_cnt, job 3523 drivers/scsi/bfa/bfad_bsg.c job->reply_payload.payload_len); job 3544 drivers/scsi/bfa/bfad_bsg.c bsg_job_done(job, bsg_reply->result, job 3551 drivers/scsi/bfa/bfad_bsg.c bfad_im_bsg_request(struct bsg_job *job) job 3553 drivers/scsi/bfa/bfad_bsg.c struct fc_bsg_request *bsg_request = job->request; job 3554 drivers/scsi/bfa/bfad_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 3560 drivers/scsi/bfa/bfad_bsg.c rc = bfad_im_bsg_vendor_request(job); job 3567 drivers/scsi/bfa/bfad_bsg.c rc = bfad_im_bsg_els_ct_request(job); job 3579 drivers/scsi/bfa/bfad_bsg.c bfad_im_bsg_timeout(struct bsg_job *job) job 182 drivers/scsi/bfa/bfad_im.h int bfad_im_bsg_request(struct bsg_job *job); job 183 drivers/scsi/bfa/bfad_im.h int bfad_im_bsg_timeout(struct bsg_job *job); job 1696 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_bsg_timeout(struct bsg_job *job) job 1698 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(fc_bsg_to_shost(job)); job 1699 drivers/scsi/ibmvscsi/ibmvfc.c unsigned long port_id = (unsigned long)job->dd_data; job 1809 drivers/scsi/ibmvscsi/ibmvfc.c static int ibmvfc_bsg_request(struct bsg_job *job) job 1811 drivers/scsi/ibmvscsi/ibmvfc.c struct ibmvfc_host *vhost = shost_priv(fc_bsg_to_shost(job)); job 1812 drivers/scsi/ibmvscsi/ibmvfc.c struct fc_rport *rport = fc_bsg_to_rport(job); job 1817 drivers/scsi/ibmvscsi/ibmvfc.c struct fc_bsg_request *bsg_request = job->request; job 1818 drivers/scsi/ibmvscsi/ibmvfc.c struct fc_bsg_reply *bsg_reply = job->reply; job 1855 drivers/scsi/ibmvscsi/ibmvfc.c job->dd_data = (void *)port_id; job 1856 drivers/scsi/ibmvscsi/ibmvfc.c req_seg = dma_map_sg(vhost->dev, job->request_payload.sg_list, job 1857 drivers/scsi/ibmvscsi/ibmvfc.c job->request_payload.sg_cnt, DMA_TO_DEVICE); job 1864 drivers/scsi/ibmvscsi/ibmvfc.c rsp_seg = dma_map_sg(vhost->dev, job->reply_payload.sg_list, job 1865 drivers/scsi/ibmvscsi/ibmvfc.c job->reply_payload.sg_cnt, DMA_FROM_DEVICE); job 1868 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_sg(vhost->dev, job->request_payload.sg_list, job 1869 drivers/scsi/ibmvscsi/ibmvfc.c job->request_payload.sg_cnt, DMA_TO_DEVICE); job 1903 drivers/scsi/ibmvscsi/ibmvfc.c mad->iu.cmd_len = cpu_to_be32(job->request_payload.payload_len); job 1904 drivers/scsi/ibmvscsi/ibmvfc.c mad->iu.rsp_len = cpu_to_be32(job->reply_payload.payload_len); job 1908 drivers/scsi/ibmvscsi/ibmvfc.c mad->iu.cmd.va = cpu_to_be64(sg_dma_address(job->request_payload.sg_list)); job 1909 drivers/scsi/ibmvscsi/ibmvfc.c mad->iu.cmd.len = cpu_to_be32(sg_dma_len(job->request_payload.sg_list)); job 1910 drivers/scsi/ibmvscsi/ibmvfc.c mad->iu.rsp.va = cpu_to_be64(sg_dma_address(job->reply_payload.sg_list)); job 1911 drivers/scsi/ibmvscsi/ibmvfc.c mad->iu.rsp.len = cpu_to_be32(sg_dma_len(job->reply_payload.sg_list)); job 1937 drivers/scsi/ibmvscsi/ibmvfc.c bsg_job_done(job, bsg_reply->result, job 1941 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_sg(vhost->dev, job->request_payload.sg_list, job 1942 drivers/scsi/ibmvscsi/ibmvfc.c job->request_payload.sg_cnt, DMA_TO_DEVICE); job 1943 drivers/scsi/ibmvscsi/ibmvfc.c dma_unmap_sg(vhost->dev, job->reply_payload.sg_list, job 1944 drivers/scsi/ibmvscsi/ibmvfc.c job->reply_payload.sg_cnt, DMA_FROM_DEVICE); job 140 drivers/scsi/libfc/fc_lport.c struct bsg_job *job; job 1876 drivers/scsi/libfc/fc_lport.c struct bsg_job *job = info->job; job 1877 drivers/scsi/libfc/fc_lport.c struct fc_bsg_reply *bsg_reply = job->reply; job 1886 drivers/scsi/libfc/fc_lport.c job->reply_len = sizeof(uint32_t); job 1887 drivers/scsi/libfc/fc_lport.c bsg_job_done(job, bsg_reply->result, job 1918 drivers/scsi/libfc/fc_lport.c job->reply_payload.payload_len) job 1920 drivers/scsi/libfc/fc_lport.c job->reply_payload.payload_len; job 1922 drivers/scsi/libfc/fc_lport.c bsg_job_done(job, bsg_reply->result, job 1936 drivers/scsi/libfc/fc_lport.c static int fc_lport_els_request(struct bsg_job *job, job 1948 drivers/scsi/libfc/fc_lport.c fp = fc_frame_alloc(lport, job->request_payload.payload_len); job 1952 drivers/scsi/libfc/fc_lport.c len = job->request_payload.payload_len; job 1955 drivers/scsi/libfc/fc_lport.c sg_copy_to_buffer(job->request_payload.sg_list, job 1956 drivers/scsi/libfc/fc_lport.c job->request_payload.sg_cnt, job 1975 drivers/scsi/libfc/fc_lport.c info->job = job; job 1978 drivers/scsi/libfc/fc_lport.c info->nents = job->reply_payload.sg_cnt; job 1979 drivers/scsi/libfc/fc_lport.c info->sg = job->reply_payload.sg_list; job 1996 drivers/scsi/libfc/fc_lport.c static int fc_lport_ct_request(struct bsg_job *job, job 2008 drivers/scsi/libfc/fc_lport.c job->request_payload.payload_len); job 2012 drivers/scsi/libfc/fc_lport.c len = job->request_payload.payload_len; job 2015 drivers/scsi/libfc/fc_lport.c sg_copy_to_buffer(job->request_payload.sg_list, job 2016 drivers/scsi/libfc/fc_lport.c job->request_payload.sg_cnt, job 2035 drivers/scsi/libfc/fc_lport.c info->job = job; job 2038 drivers/scsi/libfc/fc_lport.c info->nents = job->reply_payload.sg_cnt; job 2039 drivers/scsi/libfc/fc_lport.c info->sg = job->reply_payload.sg_list; job 2054 drivers/scsi/libfc/fc_lport.c int fc_lport_bsg_request(struct bsg_job *job) job 2056 drivers/scsi/libfc/fc_lport.c struct fc_bsg_request *bsg_request = job->request; job 2057 drivers/scsi/libfc/fc_lport.c struct fc_bsg_reply *bsg_reply = job->reply; job 2058 drivers/scsi/libfc/fc_lport.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 2071 drivers/scsi/libfc/fc_lport.c rport = fc_bsg_to_rport(job); job 2076 drivers/scsi/libfc/fc_lport.c rc = fc_lport_els_request(job, lport, rport->port_id, job 2081 drivers/scsi/libfc/fc_lport.c rport = fc_bsg_to_rport(job); job 2086 drivers/scsi/libfc/fc_lport.c rc = fc_lport_ct_request(job, lport, rport->port_id, job 2105 drivers/scsi/libfc/fc_lport.c rc = fc_lport_ct_request(job, lport, did, tov); job 2110 drivers/scsi/libfc/fc_lport.c rc = fc_lport_els_request(job, lport, did, lport->e_d_tov); job 2135 drivers/scsi/libsas/sas_expander.c void sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost, job 2144 drivers/scsi/libsas/sas_expander.c return sas_smp_host_handler(job, shost); job 2163 drivers/scsi/libsas/sas_expander.c if (job->request_payload.sg_cnt > 1 || job 2164 drivers/scsi/libsas/sas_expander.c job->reply_payload.sg_cnt > 1) { job 2166 drivers/scsi/libsas/sas_expander.c __func__, job->request_payload.payload_len, job 2167 drivers/scsi/libsas/sas_expander.c job->reply_payload.payload_len); job 2171 drivers/scsi/libsas/sas_expander.c ret = smp_execute_task_sg(dev, job->request_payload.sg_list, job 2172 drivers/scsi/libsas/sas_expander.c job->reply_payload.sg_list); job 2175 drivers/scsi/libsas/sas_expander.c rcvlen = job->reply_payload.payload_len - ret; job 2180 drivers/scsi/libsas/sas_expander.c bsg_job_done(job, ret, rcvlen); job 225 drivers/scsi/libsas/sas_host_smp.c void sas_smp_host_handler(struct bsg_job *job, struct Scsi_Host *shost) job 233 drivers/scsi/libsas/sas_host_smp.c if (job->request_payload.payload_len < 8 || job 234 drivers/scsi/libsas/sas_host_smp.c job->reply_payload.payload_len < 8) job 238 drivers/scsi/libsas/sas_host_smp.c req_data = kzalloc(job->request_payload.payload_len, GFP_KERNEL); job 241 drivers/scsi/libsas/sas_host_smp.c sg_copy_to_buffer(job->request_payload.sg_list, job 242 drivers/scsi/libsas/sas_host_smp.c job->request_payload.sg_cnt, req_data, job 243 drivers/scsi/libsas/sas_host_smp.c job->request_payload.payload_len); job 247 drivers/scsi/libsas/sas_host_smp.c resp_data = kzalloc(max(job->reply_payload.payload_len, 128U), job 282 drivers/scsi/libsas/sas_host_smp.c if (job->request_payload.payload_len < 16) job 294 drivers/scsi/libsas/sas_host_smp.c if (job->request_payload.payload_len < 16) job 309 drivers/scsi/libsas/sas_host_smp.c if (job->request_payload.payload_len < job 326 drivers/scsi/libsas/sas_host_smp.c if (job->request_payload.payload_len < 44) job 343 drivers/scsi/libsas/sas_host_smp.c sg_copy_from_buffer(job->reply_payload.sg_list, job 344 drivers/scsi/libsas/sas_host_smp.c job->reply_payload.sg_cnt, resp_data, job 345 drivers/scsi/libsas/sas_host_smp.c job->reply_payload.payload_len); job 353 drivers/scsi/libsas/sas_host_smp.c bsg_job_done(job, error, reslen); job 74 drivers/scsi/libsas/sas_internal.h void sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost, job 97 drivers/scsi/libsas/sas_internal.h extern void sas_smp_host_handler(struct bsg_job *job, struct Scsi_Host *shost); job 99 drivers/scsi/libsas/sas_internal.h static inline void sas_smp_host_handler(struct bsg_job *job, job 104 drivers/scsi/libsas/sas_internal.h bsg_job_done(job, -EINVAL, 0); job 304 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 318 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 319 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 320 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 322 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 340 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 360 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_copy_data(rmp, &job->reply_payload, job 375 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 377 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 388 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_send_mgmt_cmd(struct bsg_job *job) job 390 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 392 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_rport_data *rdata = fc_bsg_to_rport(job)->dd_data; job 394 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 453 drivers/scsi/lpfc/lpfc_bsg.c cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, job 459 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_copy_data(cmp, &job->request_payload, job 460 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.payload_len, 1); job 464 drivers/scsi/lpfc/lpfc_bsg.c rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0, job 501 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 505 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 535 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 554 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 581 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 598 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 599 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 600 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 602 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 619 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 623 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 624 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 649 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 651 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 662 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_rport_els(struct bsg_job *job) job 664 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 666 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_rport_data *rdata = fc_bsg_to_rport(job)->dd_data; job 668 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 669 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 686 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_payload.payload_len > FCELSSIZE) { job 701 drivers/scsi/lpfc/lpfc_bsg.c cmdsize = job->request_payload.payload_len; job 725 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 726 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.sg_cnt, job 739 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 743 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 773 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 788 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 933 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job = NULL; job 1133 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 1136 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 1137 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 1141 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1144 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 1206 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_hba_set_event(struct bsg_job *job) job 1208 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 1210 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 1218 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 1273 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; /* for unsolicited command */ job 1274 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; /* for fc transport timeout callback*/ job 1280 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1289 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_hba_get_event(struct bsg_job *job) job 1291 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 1293 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 1294 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 1302 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 1340 drivers/scsi/lpfc/lpfc_bsg.c if (evt_dat->len > job->request_payload.payload_len) { job 1341 drivers/scsi/lpfc/lpfc_bsg.c evt_dat->len = job->request_payload.payload_len; job 1345 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.payload_len); job 1352 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->request_payload.sg_list, job 1353 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.sg_cnt, job 1366 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1368 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 1373 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1401 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 1413 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 1414 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 1416 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1432 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 1433 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 1464 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 1466 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 1481 drivers/scsi/lpfc/lpfc_bsg.c lpfc_issue_ct_rsp(struct lpfc_hba *phba, struct bsg_job *job, uint32_t tag, job 1581 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 1585 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 1611 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1626 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_send_mgmt_rsp(struct bsg_job *job) job 1628 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 1630 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 1631 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 1639 drivers/scsi/lpfc/lpfc_bsg.c (unsigned long)job->request_payload.payload_len; job 1665 drivers/scsi/lpfc/lpfc_bsg.c cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, job 1671 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_copy_data(cmp, &job->request_payload, job 1672 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.payload_len, 1); job 1674 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_issue_ct_rsp(phba, job, tag, cmp, bmp, bpl_entries); job 1690 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1791 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli3_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct bsg_job *job) job 1793 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 1794 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 1806 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < sizeof(struct fc_bsg_request) + job 1811 drivers/scsi/lpfc/lpfc_bsg.c job->request_len, job 1900 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 2060 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct bsg_job *job) job 2062 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 2063 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 2071 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < sizeof(struct fc_bsg_request) + job 2076 drivers/scsi/lpfc/lpfc_bsg.c job->request_len, job 2265 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 2278 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_diag_loopback_mode(struct bsg_job *job) job 2285 drivers/scsi/lpfc/lpfc_bsg.c shost = fc_bsg_to_shost(job); job 2296 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_sli3_bsg_diag_loopback_mode(phba, job); job 2299 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_sli4_bsg_diag_loopback_mode(phba, job); job 2314 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_bsg_diag_mode_end(struct bsg_job *job) job 2316 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 2317 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 2325 drivers/scsi/lpfc/lpfc_bsg.c shost = fc_bsg_to_shost(job); job 2380 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 2393 drivers/scsi/lpfc/lpfc_bsg.c lpfc_sli4_bsg_link_diag_test(struct bsg_job *job) job 2395 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 2396 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 2409 drivers/scsi/lpfc/lpfc_bsg.c shost = fc_bsg_to_shost(job); job 2435 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < sizeof(struct fc_bsg_request) + job 2440 drivers/scsi/lpfc/lpfc_bsg.c job->request_len, job 2501 drivers/scsi/lpfc/lpfc_bsg.c if (job->reply_len < job 2508 drivers/scsi/lpfc/lpfc_bsg.c job->reply_len); job 2530 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 3099 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_diag_loopback_run(struct bsg_job *job) job 3101 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 3102 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 3132 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 3141 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_payload.payload_len != job 3142 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.payload_len) { job 3159 drivers/scsi/lpfc/lpfc_bsg.c size = job->request_payload.payload_len; job 3191 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 3192 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.sg_cnt, job 3356 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 3357 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 3390 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 3393 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 3403 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_get_dfc_rev(struct bsg_job *job) job 3405 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 3406 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 3411 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 3423 drivers/scsi/lpfc/lpfc_bsg.c if (job->reply_len < job 3437 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 3458 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 3476 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 3477 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3479 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 3485 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3486 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 3487 drivers/scsi/lpfc/lpfc_bsg.c size = job->reply_payload.payload_len; job 3489 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 3490 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 3501 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3503 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 3638 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 3652 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 3653 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3654 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 3656 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 3683 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3684 drivers/scsi/lpfc/lpfc_bsg.c size = job->reply_payload.payload_len; job 3686 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 3687 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 3715 drivers/scsi/lpfc/lpfc_bsg.c return job; job 3729 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 3732 drivers/scsi/lpfc/lpfc_bsg.c job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq); job 3735 drivers/scsi/lpfc/lpfc_bsg.c if (!job) job 3750 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3751 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 3752 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 3769 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 3772 drivers/scsi/lpfc/lpfc_bsg.c job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq); job 3775 drivers/scsi/lpfc/lpfc_bsg.c if (!job) job 3788 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 3789 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 3790 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 3901 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_sli_cfg_read_cmd_ext(struct lpfc_hba *phba, struct bsg_job *job, job 3905 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 4037 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 4040 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 4089 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_sli_cfg_write_cmd_ext(struct lpfc_hba *phba, struct bsg_job *job, job 4093 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 4094 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 4208 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 4211 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 4233 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 4256 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_handle_sli_cfg_mbox(struct lpfc_hba *phba, struct bsg_job *job, job 4283 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, job 4293 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job, job 4313 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, job 4344 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, job 4352 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job, job 4405 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_read_ebuf_get(struct lpfc_hba *phba, struct bsg_job *job) job 4407 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 4446 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 4447 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 4460 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 4475 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_write_ebuf_set(struct lpfc_hba *phba, struct bsg_job *job, job 4478 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 4493 drivers/scsi/lpfc/lpfc_bsg.c size = job->request_payload.payload_len; job 4494 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 4495 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.sg_cnt, job 4554 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 4557 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 4578 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 4601 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_handle_sli_cfg_ebuf(struct lpfc_hba *phba, struct bsg_job *job, job 4619 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_read_ebuf_get(phba, job); job 4631 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_write_ebuf_set(phba, job, dmabuf); job 4646 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_handle_sli_cfg_ext(struct lpfc_hba *phba, struct bsg_job *job, job 4649 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 4667 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_handle_sli_cfg_mbox(phba, job, dmabuf); job 4690 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_handle_sli_cfg_ebuf(phba, job, dmabuf); job 4724 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_issue_mbox(struct lpfc_hba *phba, struct bsg_job *job, job 4727 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 4728 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 4750 drivers/scsi/lpfc/lpfc_bsg.c if (job->reply_payload.payload_len > BSG_MBOX_SIZE || job 4751 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.payload_len > BSG_MBOX_SIZE) { job 4783 drivers/scsi/lpfc/lpfc_bsg.c size = job->request_payload.payload_len; job 4784 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 4785 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.sg_cnt, pmbx, size); job 4789 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_handle_sli_cfg_ext(phba, job, dmabuf); job 4969 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 4976 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 4989 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 4990 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 5017 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_mbox_cmd(struct bsg_job *job) job 5019 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 5020 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 5021 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5028 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5034 drivers/scsi/lpfc/lpfc_bsg.c (int)(job->request_len - job 5043 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_issue_mbox(phba, job, vport); job 5048 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 5049 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5057 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 5086 drivers/scsi/lpfc/lpfc_bsg.c struct bsg_job *job; job 5105 drivers/scsi/lpfc/lpfc_bsg.c job = dd_data->set_job; job 5106 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 5107 drivers/scsi/lpfc/lpfc_bsg.c bsg_reply = job->reply; job 5109 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 5115 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 5143 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_copy_data(rmp, &job->reply_payload, job 5158 drivers/scsi/lpfc/lpfc_bsg.c if (job) { job 5160 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5177 drivers/scsi/lpfc/lpfc_bsg.c lpfc_menlo_cmd(struct bsg_job *job) job 5179 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 5180 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 5181 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5196 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5206 drivers/scsi/lpfc/lpfc_bsg.c if (job->reply_len < job 5251 drivers/scsi/lpfc/lpfc_bsg.c cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, job 5257 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_copy_data(cmp, &job->request_payload, job 5258 drivers/scsi/lpfc/lpfc_bsg.c job->request_payload.payload_len, 1); job 5262 drivers/scsi/lpfc/lpfc_bsg.c rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0, job 5311 drivers/scsi/lpfc/lpfc_bsg.c dd_data->set_job = job; job 5314 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = dd_data; job 5336 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 5341 drivers/scsi/lpfc/lpfc_bsg.c lpfc_forced_link_speed(struct bsg_job *job) job 5343 drivers/scsi/lpfc/lpfc_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 5346 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5350 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5363 drivers/scsi/lpfc/lpfc_bsg.c if (job->reply_len < job 5379 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5412 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_get_ras_config(struct bsg_job *job) job 5414 drivers/scsi/lpfc/lpfc_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 5416 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5422 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5455 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5467 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_set_ras_config(struct bsg_job *job) job 5469 drivers/scsi/lpfc/lpfc_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 5473 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 5475 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5479 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5536 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5550 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_get_ras_lwpd(struct bsg_job *job) job 5552 drivers/scsi/lpfc/lpfc_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 5557 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5565 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5598 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5611 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_get_ras_fwlog(struct bsg_job *job) job 5613 drivers/scsi/lpfc/lpfc_bsg.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 5616 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 5617 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5637 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5673 drivers/scsi/lpfc/lpfc_bsg.c sg_copy_from_buffer(job->reply_payload.sg_list, job 5674 drivers/scsi/lpfc/lpfc_bsg.c job->reply_payload.sg_cnt, job 5682 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5689 drivers/scsi/lpfc/lpfc_bsg.c lpfc_get_trunk_info(struct bsg_job *job) job 5691 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 5693 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5697 drivers/scsi/lpfc/lpfc_bsg.c if (job->request_len < job 5709 drivers/scsi/lpfc/lpfc_bsg.c if (job->reply_len < job 5755 drivers/scsi/lpfc/lpfc_bsg.c bsg_job_done(job, bsg_reply->result, job 5766 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_hst_vendor(struct bsg_job *job) job 5768 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 5769 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5775 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_hba_set_event(job); job 5778 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_hba_get_event(job); job 5781 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_send_mgmt_rsp(job); job 5784 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_diag_loopback_mode(job); job 5787 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_sli4_bsg_diag_mode_end(job); job 5790 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_diag_loopback_run(job); job 5793 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_sli4_bsg_link_diag_test(job); job 5796 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_get_dfc_rev(job); job 5799 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_mbox_cmd(job); job 5803 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_menlo_cmd(job); job 5806 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_forced_link_speed(job); job 5809 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_get_ras_lwpd(job); job 5812 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_get_ras_fwlog(job); job 5815 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_get_ras_config(job); job 5818 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_set_ras_config(job); job 5821 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_get_trunk_info(job); job 5839 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_request(struct bsg_job *job) job 5841 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_request *bsg_request = job->request; job 5842 drivers/scsi/lpfc/lpfc_bsg.c struct fc_bsg_reply *bsg_reply = job->reply; job 5849 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_hst_vendor(job); job 5852 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_rport_els(job); job 5855 drivers/scsi/lpfc/lpfc_bsg.c rc = lpfc_bsg_send_mgmt_cmd(job); job 5876 drivers/scsi/lpfc/lpfc_bsg.c lpfc_bsg_timeout(struct bsg_job *job) job 5878 drivers/scsi/lpfc/lpfc_bsg.c struct lpfc_vport *vport = shost_priv(fc_bsg_to_shost(job)); job 5902 drivers/scsi/lpfc/lpfc_bsg.c dd_data = (struct bsg_job_data *)job->dd_data; job 5905 drivers/scsi/lpfc/lpfc_bsg.c job->dd_data = NULL; job 1833 drivers/scsi/mpt3sas/mpt3sas_transport.c _transport_smp_handler(struct bsg_job *job, struct Scsi_Host *shost, job 1868 drivers/scsi/mpt3sas/mpt3sas_transport.c rc = _transport_map_smp_buffer(&ioc->pdev->dev, &job->request_payload, job 1873 drivers/scsi/mpt3sas/mpt3sas_transport.c sg_copy_to_buffer(job->request_payload.sg_list, job 1874 drivers/scsi/mpt3sas/mpt3sas_transport.c job->request_payload.sg_cnt, addr_out, job 1875 drivers/scsi/mpt3sas/mpt3sas_transport.c job->request_payload.payload_len); job 1878 drivers/scsi/mpt3sas/mpt3sas_transport.c rc = _transport_map_smp_buffer(&ioc->pdev->dev, &job->reply_payload, job 1944 drivers/scsi/mpt3sas/mpt3sas_transport.c memcpy(job->reply, mpi_reply, sizeof(*mpi_reply)); job 1945 drivers/scsi/mpt3sas/mpt3sas_transport.c job->reply_len = sizeof(*mpi_reply); job 1949 drivers/scsi/mpt3sas/mpt3sas_transport.c sg_copy_to_buffer(job->reply_payload.sg_list, job 1950 drivers/scsi/mpt3sas/mpt3sas_transport.c job->reply_payload.sg_cnt, addr_in, job 1951 drivers/scsi/mpt3sas/mpt3sas_transport.c job->reply_payload.payload_len); job 1956 drivers/scsi/mpt3sas/mpt3sas_transport.c _transport_unmap_smp_buffer(&ioc->pdev->dev, &job->reply_payload, job 1959 drivers/scsi/mpt3sas/mpt3sas_transport.c _transport_unmap_smp_buffer(&ioc->pdev->dev, &job->request_payload, job 1965 drivers/scsi/mpt3sas/mpt3sas_transport.c bsg_job_done(job, rc, reslen); job 3557 drivers/scsi/scsi_transport_fc.c struct bsg_job *job = blk_mq_rq_to_pdu(req); job 3558 drivers/scsi/scsi_transport_fc.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 3559 drivers/scsi/scsi_transport_fc.c struct fc_rport *rport = fc_bsg_to_rport(job); job 3566 drivers/scsi/scsi_transport_fc.c inflight = bsg_job_get(job); job 3570 drivers/scsi/scsi_transport_fc.c err = i->f->bsg_timeout(job); job 3572 drivers/scsi/scsi_transport_fc.c bsg_job_put(job); job 3590 drivers/scsi/scsi_transport_fc.c static int fc_bsg_host_dispatch(struct Scsi_Host *shost, struct bsg_job *job) job 3593 drivers/scsi/scsi_transport_fc.c struct fc_bsg_request *bsg_request = job->request; job 3594 drivers/scsi/scsi_transport_fc.c struct fc_bsg_reply *bsg_reply = job->reply; job 3599 drivers/scsi/scsi_transport_fc.c if (job->request_len < cmdlen) { job 3617 drivers/scsi/scsi_transport_fc.c if ((!job->request_payload.payload_len) || job 3618 drivers/scsi/scsi_transport_fc.c (!job->reply_payload.payload_len)) { job 3627 drivers/scsi/scsi_transport_fc.c if ((!job->request_payload.payload_len) || job 3628 drivers/scsi/scsi_transport_fc.c (!job->reply_payload.payload_len)) { job 3649 drivers/scsi/scsi_transport_fc.c ret = i->f->bsg_request(job); job 3655 drivers/scsi/scsi_transport_fc.c BUG_ON(job->reply_len < sizeof(uint32_t)); job 3658 drivers/scsi/scsi_transport_fc.c job->reply_len = sizeof(uint32_t); job 3659 drivers/scsi/scsi_transport_fc.c bsg_job_done(job, bsg_reply->result, job 3683 drivers/scsi/scsi_transport_fc.c static int fc_bsg_rport_dispatch(struct Scsi_Host *shost, struct bsg_job *job) job 3686 drivers/scsi/scsi_transport_fc.c struct fc_bsg_request *bsg_request = job->request; job 3687 drivers/scsi/scsi_transport_fc.c struct fc_bsg_reply *bsg_reply = job->reply; job 3692 drivers/scsi/scsi_transport_fc.c if (job->request_len < cmdlen) { job 3707 drivers/scsi/scsi_transport_fc.c if ((!job->request_payload.payload_len) || job 3708 drivers/scsi/scsi_transport_fc.c (!job->reply_payload.payload_len)) { job 3718 drivers/scsi/scsi_transport_fc.c ret = i->f->bsg_request(job); job 3724 drivers/scsi/scsi_transport_fc.c BUG_ON(job->reply_len < sizeof(uint32_t)); job 3727 drivers/scsi/scsi_transport_fc.c job->reply_len = sizeof(uint32_t); job 3728 drivers/scsi/scsi_transport_fc.c bsg_job_done(job, bsg_reply->result, job 3733 drivers/scsi/scsi_transport_fc.c static int fc_bsg_dispatch(struct bsg_job *job) job 3735 drivers/scsi/scsi_transport_fc.c struct Scsi_Host *shost = fc_bsg_to_shost(job); job 3737 drivers/scsi/scsi_transport_fc.c if (scsi_is_fc_rport(job->dev)) job 3738 drivers/scsi/scsi_transport_fc.c return fc_bsg_rport_dispatch(shost, job); job 3740 drivers/scsi/scsi_transport_fc.c return fc_bsg_host_dispatch(shost, job); job 3756 drivers/scsi/scsi_transport_fc.c static int fc_bsg_dispatch_prep(struct bsg_job *job) job 3758 drivers/scsi/scsi_transport_fc.c struct fc_rport *rport = fc_bsg_to_rport(job); job 3771 drivers/scsi/scsi_transport_fc.c return fc_bsg_dispatch(job); job 1484 drivers/scsi/scsi_transport_iscsi.c static int iscsi_bsg_host_dispatch(struct bsg_job *job) job 1486 drivers/scsi/scsi_transport_iscsi.c struct Scsi_Host *shost = iscsi_job_to_shost(job); job 1487 drivers/scsi/scsi_transport_iscsi.c struct iscsi_bsg_request *req = job->request; job 1488 drivers/scsi/scsi_transport_iscsi.c struct iscsi_bsg_reply *reply = job->reply; job 1494 drivers/scsi/scsi_transport_iscsi.c if (job->request_len < sizeof(uint32_t)) { job 1516 drivers/scsi/scsi_transport_iscsi.c if (job->request_len < cmdlen) { job 1521 drivers/scsi/scsi_transport_iscsi.c ret = i->iscsi_transport->bsg_request(job); job 1527 drivers/scsi/scsi_transport_iscsi.c BUG_ON(job->reply_len < sizeof(uint32_t)); job 1530 drivers/scsi/scsi_transport_iscsi.c job->reply_len = sizeof(uint32_t); job 1531 drivers/scsi/scsi_transport_iscsi.c bsg_job_done(job, ret, 0); job 172 drivers/scsi/scsi_transport_sas.c static int sas_smp_dispatch(struct bsg_job *job) job 174 drivers/scsi/scsi_transport_sas.c struct Scsi_Host *shost = dev_to_shost(job->dev); job 177 drivers/scsi/scsi_transport_sas.c if (!scsi_is_host_device(job->dev)) job 178 drivers/scsi/scsi_transport_sas.c rphy = dev_to_rphy(job->dev); job 180 drivers/scsi/scsi_transport_sas.c if (!job->reply_payload.payload_len) { job 181 drivers/scsi/scsi_transport_sas.c dev_warn(job->dev, "space for a smp response is missing\n"); job 182 drivers/scsi/scsi_transport_sas.c bsg_job_done(job, -EINVAL, 0); job 186 drivers/scsi/scsi_transport_sas.c to_sas_internal(shost->transportt)->f->smp_handler(job, shost, rphy); job 1432 drivers/scsi/smartpqi/smartpqi.h void pqi_sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost, job 451 drivers/scsi/smartpqi/smartpqi_sas_transport.c struct bsg_job *job) job 463 drivers/scsi/smartpqi/smartpqi_sas_transport.c req_size = job->request_payload.payload_len; job 464 drivers/scsi/smartpqi/smartpqi_sas_transport.c resp_size = job->reply_payload.payload_len; job 488 drivers/scsi/smartpqi/smartpqi_sas_transport.c sg_copy_to_buffer(job->request_payload.sg_list, job 489 drivers/scsi/smartpqi/smartpqi_sas_transport.c job->reply_payload.sg_cnt, ¶meters->request, job 496 drivers/scsi/smartpqi/smartpqi_sas_transport.c struct bmic_csmi_smp_passthru_buffer *smp_buf, struct bsg_job *job, job 499 drivers/scsi/smartpqi/smartpqi_sas_transport.c sg_copy_from_buffer(job->reply_payload.sg_list, job 500 drivers/scsi/smartpqi/smartpqi_sas_transport.c job->reply_payload.sg_cnt, &smp_buf->parameters.response, job 503 drivers/scsi/smartpqi/smartpqi_sas_transport.c job->reply_len = le16_to_cpu(error_info->sense_data_length); job 504 drivers/scsi/smartpqi/smartpqi_sas_transport.c memcpy(job->reply, error_info->data, job 507 drivers/scsi/smartpqi/smartpqi_sas_transport.c return job->reply_payload.payload_len - job 511 drivers/scsi/smartpqi/smartpqi_sas_transport.c void pqi_sas_smp_handler(struct bsg_job *job, struct Scsi_Host *shost, job 522 drivers/scsi/smartpqi/smartpqi_sas_transport.c if (job->reply_payload.payload_len == 0) { job 537 drivers/scsi/smartpqi/smartpqi_sas_transport.c if (job->request_payload.sg_cnt > 1 || job->reply_payload.sg_cnt > 1) { job 552 drivers/scsi/smartpqi/smartpqi_sas_transport.c smp_buf = pqi_build_csmi_smp_passthru_buffer(rphy, job); job 563 drivers/scsi/smartpqi/smartpqi_sas_transport.c reslen = pqi_build_sas_smp_handler_reply(smp_buf, job, &error_info); job 565 drivers/scsi/smartpqi/smartpqi_sas_transport.c bsg_job_done(job, rc, reslen); job 43 drivers/scsi/ufs/ufs_bsg.c static int ufs_bsg_alloc_desc_buffer(struct ufs_hba *hba, struct bsg_job *job, job 47 drivers/scsi/ufs/ufs_bsg.c struct ufs_bsg_request *bsg_request = job->request; job 61 drivers/scsi/ufs/ufs_bsg.c if (*desc_len > job->request_payload.payload_len) { job 71 drivers/scsi/ufs/ufs_bsg.c sg_copy_to_buffer(job->request_payload.sg_list, job 72 drivers/scsi/ufs/ufs_bsg.c job->request_payload.sg_cnt, descp, job 81 drivers/scsi/ufs/ufs_bsg.c static int ufs_bsg_request(struct bsg_job *job) job 83 drivers/scsi/ufs/ufs_bsg.c struct ufs_bsg_request *bsg_request = job->request; job 84 drivers/scsi/ufs/ufs_bsg.c struct ufs_bsg_reply *bsg_reply = job->reply; job 85 drivers/scsi/ufs/ufs_bsg.c struct ufs_hba *hba = shost_priv(dev_to_shost(job->dev->parent)); job 86 drivers/scsi/ufs/ufs_bsg.c unsigned int req_len = job->request_len; job 87 drivers/scsi/ufs/ufs_bsg.c unsigned int reply_len = job->reply_len; job 107 drivers/scsi/ufs/ufs_bsg.c ret = ufs_bsg_alloc_desc_buffer(hba, job, &desc_buff, job 147 drivers/scsi/ufs/ufs_bsg.c sg_copy_from_buffer(job->request_payload.sg_list, job 148 drivers/scsi/ufs/ufs_bsg.c job->request_payload.sg_cnt, job 155 drivers/scsi/ufs/ufs_bsg.c job->reply_len = sizeof(struct ufs_bsg_reply); job 158 drivers/scsi/ufs/ufs_bsg.c bsg_job_done(job, ret, bsg_reply->reply_payload_rcv_len); job 1049 include/drm/drm_modeset_helper_vtables.h struct drm_writeback_job *job); job 1051 include/drm/drm_modeset_helper_vtables.h struct drm_writeback_job *job); job 149 include/drm/drm_writeback.h int drm_writeback_prepare_job(struct drm_writeback_job *job); job 154 include/drm/drm_writeback.h void drm_writeback_cleanup_job(struct drm_writeback_job *job); job 292 include/drm/gpu_scheduler.h int drm_sched_job_init(struct drm_sched_job *job, job 295 include/drm/gpu_scheduler.h void drm_sched_job_cleanup(struct drm_sched_job *job); job 82 include/linux/dm-kcopyd.h void dm_kcopyd_do_callback(void *job, int read_err, unsigned long write_err); job 164 include/linux/host1x.h int host1x_job_submit(struct host1x_job *job); job 241 include/linux/host1x.h void host1x_job_add_gather(struct host1x_job *job, struct host1x_bo *bo, job 243 include/linux/host1x.h struct host1x_job *host1x_job_get(struct host1x_job *job); job 244 include/linux/host1x.h void host1x_job_put(struct host1x_job *job); job 245 include/linux/host1x.h int host1x_job_pin(struct host1x_job *job, struct device *dev); job 246 include/linux/host1x.h void host1x_job_unpin(struct host1x_job *job); job 806 include/scsi/scsi_transport_fc.h static inline struct Scsi_Host *fc_bsg_to_shost(struct bsg_job *job) job 808 include/scsi/scsi_transport_fc.h if (scsi_is_host_device(job->dev)) job 809 include/scsi/scsi_transport_fc.h return dev_to_shost(job->dev); job 810 include/scsi/scsi_transport_fc.h return rport_to_shost(dev_to_rport(job->dev)); job 813 include/scsi/scsi_transport_fc.h static inline struct fc_rport *fc_bsg_to_rport(struct bsg_job *job) job 815 include/scsi/scsi_transport_fc.h if (scsi_is_fc_rport(job->dev)) job 816 include/scsi/scsi_transport_fc.h return dev_to_rport(job->dev); job 135 include/scsi/scsi_transport_iscsi.h int (*bsg_request)(struct bsg_job *job);