Lines Matching refs:io_task
282 struct beiscsi_io_task *io_task; in beiscsi_eh_device_reset() local
331 io_task = task->dd_data; in beiscsi_eh_device_reset()
335 io_task->pwrb_handle->pwrb, 1); in beiscsi_eh_device_reset()
338 io_task->pwrb_handle->pwrb, 1); in beiscsi_eh_device_reset()
342 inv_tbl->tbl[nents].icd = io_task->psgl_handle->sgl_index; in beiscsi_eh_device_reset()
1121 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_io() local
1123 (struct be_status_bhs *)io_task->cmd_bhs; in be_complete_io()
1138 if (io_task->scsi_cmnd) { in be_complete_io()
1139 scsi_dma_unmap(io_task->scsi_cmnd); in be_complete_io()
1140 io_task->scsi_cmnd = NULL; in be_complete_io()
1174 if (io_task->cmd_bhs->iscsi_hdr.flags & ISCSI_FLAG_CMD_READ) in be_complete_io()
1177 if (io_task->scsi_cmnd) { in be_complete_io()
1178 scsi_dma_unmap(io_task->scsi_cmnd); in be_complete_io()
1179 io_task->scsi_cmnd = NULL; in be_complete_io()
1190 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_logout() local
1207 hdr->itt = io_task->libiscsi_itt; in be_complete_logout()
1218 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_tmf() local
1228 hdr->itt = io_task->libiscsi_itt; in be_complete_tmf()
1274 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_nopin_resp() local
1283 hdr->itt = io_task->libiscsi_itt; in be_complete_nopin_resp()
1429 struct beiscsi_io_task *io_task; in beiscsi_complete_pdu() local
1452 io_task = task->dd_data; in beiscsi_complete_pdu()
1454 login_hdr->itt = io_task->libiscsi_itt; in beiscsi_complete_pdu()
2093 unsigned int num_sg, struct beiscsi_io_task *io_task) in hwi_write_sgl_v2() argument
2103 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl_v2()
2105 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl_v2()
2139 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_sgl_v2()
2142 AMAP_SET_BITS(struct amap_iscsi_sge, len, psgl, io_task->bhs_len - 2); in hwi_write_sgl_v2()
2145 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl_v2()
2147 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl_v2()
2188 unsigned int num_sg, struct beiscsi_io_task *io_task) in hwi_write_sgl() argument
2198 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl()
2200 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl()
2228 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_sgl()
2231 AMAP_SET_BITS(struct amap_iscsi_sge, len, psgl, io_task->bhs_len - 2); in hwi_write_sgl()
2234 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl()
2236 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl()
2282 struct beiscsi_io_task *io_task = task->dd_data; in hwi_write_buffer() local
2283 struct beiscsi_conn *beiscsi_conn = io_task->conn; in hwi_write_buffer()
2287 io_task->bhs_len = sizeof(struct be_nonio_bhs) - 2; in hwi_write_buffer()
2289 io_task->bhs_pa.u.a32.address_lo); in hwi_write_buffer()
2291 io_task->bhs_pa.u.a32.address_hi); in hwi_write_buffer()
2307 io_task->mtask_addr = pci_map_single(phba->pcidev, in hwi_write_buffer()
2312 io_task->mtask_addr)) in hwi_write_buffer()
2314 io_task->mtask_data_count = task->data_count; in hwi_write_buffer()
2316 io_task->mtask_addr = 0; in hwi_write_buffer()
2319 lower_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
2321 upper_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
2328 io_task->mtask_addr = 0; in hwi_write_buffer()
2331 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_buffer()
2333 AMAP_SET_BITS(struct amap_iscsi_sge, len, psgl, io_task->bhs_len); in hwi_write_buffer()
2336 io_task->bhs_pa.u.a32.address_hi); in hwi_write_buffer()
2338 io_task->bhs_pa.u.a32.address_lo); in hwi_write_buffer()
2351 lower_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
2353 upper_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
4235 struct beiscsi_io_task *io_task; in beiscsi_free_mgmt_task_handles() local
4245 io_task = task->dd_data; in beiscsi_free_mgmt_task_handles()
4247 if (io_task->pwrb_handle) { in beiscsi_free_mgmt_task_handles()
4248 free_wrb_handle(phba, pwrb_context, io_task->pwrb_handle); in beiscsi_free_mgmt_task_handles()
4249 io_task->pwrb_handle = NULL; in beiscsi_free_mgmt_task_handles()
4252 if (io_task->psgl_handle) { in beiscsi_free_mgmt_task_handles()
4253 free_mgmt_sgl_handle(phba, io_task->psgl_handle); in beiscsi_free_mgmt_task_handles()
4254 io_task->psgl_handle = NULL; in beiscsi_free_mgmt_task_handles()
4257 if (io_task->mtask_addr) { in beiscsi_free_mgmt_task_handles()
4259 io_task->mtask_addr, in beiscsi_free_mgmt_task_handles()
4260 io_task->mtask_data_count, in beiscsi_free_mgmt_task_handles()
4262 io_task->mtask_addr = 0; in beiscsi_free_mgmt_task_handles()
4273 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_cleanup_task() local
4286 if (io_task->cmd_bhs) { in beiscsi_cleanup_task()
4287 dma_pool_free(beiscsi_sess->bhs_pool, io_task->cmd_bhs, in beiscsi_cleanup_task()
4288 io_task->bhs_pa.u.a64.address); in beiscsi_cleanup_task()
4289 io_task->cmd_bhs = NULL; in beiscsi_cleanup_task()
4294 if (io_task->pwrb_handle) { in beiscsi_cleanup_task()
4296 io_task->pwrb_handle); in beiscsi_cleanup_task()
4297 io_task->pwrb_handle = NULL; in beiscsi_cleanup_task()
4300 if (io_task->psgl_handle) { in beiscsi_cleanup_task()
4301 free_io_sgl_handle(phba, io_task->psgl_handle); in beiscsi_cleanup_task()
4302 io_task->psgl_handle = NULL; in beiscsi_cleanup_task()
4305 if (io_task->scsi_cmnd) { in beiscsi_cleanup_task()
4306 if (io_task->num_sg) in beiscsi_cleanup_task()
4307 scsi_dma_unmap(io_task->scsi_cmnd); in beiscsi_cleanup_task()
4308 io_task->scsi_cmnd = NULL; in beiscsi_cleanup_task()
4393 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_alloc_pdu() local
4404 io_task->cmd_bhs = dma_pool_alloc(beiscsi_sess->bhs_pool, in beiscsi_alloc_pdu()
4406 if (!io_task->cmd_bhs) in beiscsi_alloc_pdu()
4408 io_task->bhs_pa.u.a64.address = paddr; in beiscsi_alloc_pdu()
4409 io_task->libiscsi_itt = (itt_t)task->itt; in beiscsi_alloc_pdu()
4410 io_task->conn = beiscsi_conn; in beiscsi_alloc_pdu()
4412 task->hdr = (struct iscsi_hdr *)&io_task->cmd_bhs->iscsi_hdr; in beiscsi_alloc_pdu()
4414 io_task->psgl_handle = NULL; in beiscsi_alloc_pdu()
4415 io_task->pwrb_handle = NULL; in beiscsi_alloc_pdu()
4418 io_task->psgl_handle = alloc_io_sgl_handle(phba); in beiscsi_alloc_pdu()
4419 if (!io_task->psgl_handle) { in beiscsi_alloc_pdu()
4427 io_task->pwrb_handle = alloc_wrb_handle(phba, in beiscsi_alloc_pdu()
4429 &io_task->pwrb_context); in beiscsi_alloc_pdu()
4430 if (!io_task->pwrb_handle) { in beiscsi_alloc_pdu()
4439 io_task->scsi_cmnd = NULL; in beiscsi_alloc_pdu()
4443 io_task->psgl_handle = (struct sgl_handle *) in beiscsi_alloc_pdu()
4445 if (!io_task->psgl_handle) { in beiscsi_alloc_pdu()
4458 io_task->psgl_handle; in beiscsi_alloc_pdu()
4459 io_task->pwrb_handle = in beiscsi_alloc_pdu()
4462 &io_task->pwrb_context); in beiscsi_alloc_pdu()
4463 if (!io_task->pwrb_handle) { in beiscsi_alloc_pdu()
4474 io_task->pwrb_handle; in beiscsi_alloc_pdu()
4477 io_task->psgl_handle = in beiscsi_alloc_pdu()
4479 io_task->pwrb_handle = in beiscsi_alloc_pdu()
4483 io_task->psgl_handle = alloc_mgmt_sgl_handle(phba); in beiscsi_alloc_pdu()
4484 if (!io_task->psgl_handle) { in beiscsi_alloc_pdu()
4494 io_task->pwrb_handle = in beiscsi_alloc_pdu()
4497 &io_task->pwrb_context); in beiscsi_alloc_pdu()
4498 if (!io_task->pwrb_handle) { in beiscsi_alloc_pdu()
4509 itt = (itt_t) cpu_to_be32(((unsigned int)io_task->pwrb_handle-> in beiscsi_alloc_pdu()
4511 (io_task->psgl_handle->sgl_index)); in beiscsi_alloc_pdu()
4512 io_task->pwrb_handle->pio_handle = task; in beiscsi_alloc_pdu()
4514 io_task->cmd_bhs->iscsi_hdr.itt = itt; in beiscsi_alloc_pdu()
4518 free_io_sgl_handle(phba, io_task->psgl_handle); in beiscsi_alloc_pdu()
4521 free_mgmt_sgl_handle(phba, io_task->psgl_handle); in beiscsi_alloc_pdu()
4522 io_task->psgl_handle = NULL; in beiscsi_alloc_pdu()
4528 if (io_task->pwrb_handle) in beiscsi_alloc_pdu()
4529 free_wrb_handle(phba, pwrb_context, io_task->pwrb_handle); in beiscsi_alloc_pdu()
4530 io_task->pwrb_handle = NULL; in beiscsi_alloc_pdu()
4531 dma_pool_free(beiscsi_sess->bhs_pool, io_task->cmd_bhs, in beiscsi_alloc_pdu()
4532 io_task->bhs_pa.u.a64.address); in beiscsi_alloc_pdu()
4533 io_task->cmd_bhs = NULL; in beiscsi_alloc_pdu()
4541 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_iotask_v2() local
4548 pwrb = io_task->pwrb_handle->pwrb; in beiscsi_iotask_v2()
4550 io_task->bhs_len = sizeof(struct be_cmd_bhs); in beiscsi_iotask_v2()
4562 io_task->wrb_type = AMAP_GET_BITS(struct amap_iscsi_wrb_v2, in beiscsi_iotask_v2()
4567 &io_task->cmd_bhs->iscsi_hdr.lun)); in beiscsi_iotask_v2()
4570 io_task->pwrb_handle->wrb_index); in beiscsi_iotask_v2()
4574 io_task->psgl_handle->sgl_index); in beiscsi_iotask_v2()
4576 hwi_write_sgl_v2(pwrb, sg, num_sg, io_task); in beiscsi_iotask_v2()
4578 io_task->pwrb_handle->wrb_index); in beiscsi_iotask_v2()
4579 if (io_task->pwrb_context->plast_wrb) in beiscsi_iotask_v2()
4581 io_task->pwrb_context->plast_wrb, in beiscsi_iotask_v2()
4582 io_task->pwrb_handle->wrb_index); in beiscsi_iotask_v2()
4583 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_iotask_v2()
4588 doorbell |= (io_task->pwrb_handle->wrb_index & in beiscsi_iotask_v2()
4602 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_iotask() local
4609 pwrb = io_task->pwrb_handle->pwrb; in beiscsi_iotask()
4610 io_task->bhs_len = sizeof(struct be_cmd_bhs); in beiscsi_iotask()
4622 io_task->wrb_type = AMAP_GET_BITS(struct amap_iscsi_wrb, in beiscsi_iotask()
4627 &io_task->cmd_bhs->iscsi_hdr.lun)); in beiscsi_iotask()
4630 io_task->pwrb_handle->wrb_index); in beiscsi_iotask()
4634 io_task->psgl_handle->sgl_index); in beiscsi_iotask()
4636 hwi_write_sgl(pwrb, sg, num_sg, io_task); in beiscsi_iotask()
4639 io_task->pwrb_handle->wrb_index); in beiscsi_iotask()
4640 if (io_task->pwrb_context->plast_wrb) in beiscsi_iotask()
4642 io_task->pwrb_context->plast_wrb, in beiscsi_iotask()
4643 io_task->pwrb_handle->wrb_index); in beiscsi_iotask()
4644 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_iotask()
4649 doorbell |= (io_task->pwrb_handle->wrb_index & in beiscsi_iotask()
4660 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_mtask() local
4671 pwrb = io_task->pwrb_handle->pwrb; in beiscsi_mtask()
4677 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
4679 io_task->psgl_handle->sgl_index); in beiscsi_mtask()
4683 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
4684 if (io_task->pwrb_context->plast_wrb) in beiscsi_mtask()
4686 io_task->pwrb_context->plast_wrb, in beiscsi_mtask()
4687 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
4688 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_mtask()
4695 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
4697 io_task->psgl_handle->sgl_index); in beiscsi_mtask()
4701 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
4702 if (io_task->pwrb_context->plast_wrb) in beiscsi_mtask()
4704 io_task->pwrb_context->plast_wrb, in beiscsi_mtask()
4705 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
4706 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_mtask()
4763 io_task->wrb_type = (is_chip_be2_be3r(phba)) ? in beiscsi_mtask()
4768 doorbell |= (io_task->pwrb_handle->wrb_index & in beiscsi_mtask()
4778 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_task_xmit() local
4785 phba = io_task->conn->phba; in beiscsi_task_xmit()
4794 if (!io_task->conn->login_in_progress) in beiscsi_task_xmit()
4800 io_task->scsi_cmnd = sc; in beiscsi_task_xmit()
4801 io_task->num_sg = 0; in beiscsi_task_xmit()
4808 be32_to_cpu(io_task->cmd_bhs->iscsi_hdr.itt), in beiscsi_task_xmit()
4809 io_task->libiscsi_itt, scsi_bufflen(sc)); in beiscsi_task_xmit()
4817 io_task->num_sg = num_sg; in beiscsi_task_xmit()