Lines Matching refs:io_task

1105 	struct beiscsi_io_task *io_task;  in beiscsi_process_async_pdu()  local
1126 io_task = task->dd_data; in beiscsi_process_async_pdu()
1128 login_hdr->itt = io_task->libiscsi_itt; in beiscsi_process_async_pdu()
1317 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_io() local
1319 (struct be_status_bhs *)io_task->cmd_bhs; in be_complete_io()
1334 if (io_task->scsi_cmnd) { in be_complete_io()
1335 scsi_dma_unmap(io_task->scsi_cmnd); in be_complete_io()
1336 io_task->scsi_cmnd = NULL; in be_complete_io()
1370 if (io_task->cmd_bhs->iscsi_hdr.flags & ISCSI_FLAG_CMD_READ) in be_complete_io()
1373 if (io_task->scsi_cmnd) { in be_complete_io()
1374 scsi_dma_unmap(io_task->scsi_cmnd); in be_complete_io()
1375 io_task->scsi_cmnd = NULL; in be_complete_io()
1386 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_logout() local
1403 hdr->itt = io_task->libiscsi_itt; in be_complete_logout()
1414 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_tmf() local
1424 hdr->itt = io_task->libiscsi_itt; in be_complete_tmf()
1436 struct beiscsi_io_task *io_task; in hwi_complete_drvr_msgs() local
1457 io_task = task->dd_data; in hwi_complete_drvr_msgs()
1458 memset(io_task->pwrb_handle->pwrb, 0, sizeof(struct iscsi_wrb)); in hwi_complete_drvr_msgs()
1469 struct beiscsi_io_task *io_task = task->dd_data; in be_complete_nopin_resp() local
1478 hdr->itt = io_task->libiscsi_itt; in be_complete_nopin_resp()
2321 unsigned int num_sg, struct beiscsi_io_task *io_task) in hwi_write_sgl_v2() argument
2331 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl_v2()
2333 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl_v2()
2367 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_sgl_v2()
2370 AMAP_SET_BITS(struct amap_iscsi_sge, len, psgl, io_task->bhs_len - 2); in hwi_write_sgl_v2()
2373 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl_v2()
2375 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl_v2()
2416 unsigned int num_sg, struct beiscsi_io_task *io_task) in hwi_write_sgl() argument
2426 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl()
2428 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl()
2456 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_sgl()
2459 AMAP_SET_BITS(struct amap_iscsi_sge, len, psgl, io_task->bhs_len - 2); in hwi_write_sgl()
2462 io_task->bhs_pa.u.a32.address_hi); in hwi_write_sgl()
2464 io_task->bhs_pa.u.a32.address_lo); in hwi_write_sgl()
2510 struct beiscsi_io_task *io_task = task->dd_data; in hwi_write_buffer() local
2511 struct beiscsi_conn *beiscsi_conn = io_task->conn; in hwi_write_buffer()
2515 io_task->bhs_len = sizeof(struct be_nonio_bhs) - 2; in hwi_write_buffer()
2517 io_task->bhs_pa.u.a32.address_lo); in hwi_write_buffer()
2519 io_task->bhs_pa.u.a32.address_hi); in hwi_write_buffer()
2535 io_task->mtask_addr = pci_map_single(phba->pcidev, in hwi_write_buffer()
2539 io_task->mtask_data_count = task->data_count; in hwi_write_buffer()
2541 io_task->mtask_addr = 0; in hwi_write_buffer()
2544 lower_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
2546 upper_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
2553 io_task->mtask_addr = 0; in hwi_write_buffer()
2556 psgl = (struct iscsi_sge *)io_task->psgl_handle->pfrag; in hwi_write_buffer()
2558 AMAP_SET_BITS(struct amap_iscsi_sge, len, psgl, io_task->bhs_len); in hwi_write_buffer()
2561 io_task->bhs_pa.u.a32.address_hi); in hwi_write_buffer()
2563 io_task->bhs_pa.u.a32.address_lo); in hwi_write_buffer()
2576 lower_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
2578 upper_32_bits(io_task->mtask_addr)); in hwi_write_buffer()
4592 struct beiscsi_io_task *io_task; in beiscsi_free_mgmt_task_handles() local
4602 io_task = task->dd_data; in beiscsi_free_mgmt_task_handles()
4604 if (io_task->pwrb_handle) { in beiscsi_free_mgmt_task_handles()
4605 memset(io_task->pwrb_handle->pwrb, 0, in beiscsi_free_mgmt_task_handles()
4608 io_task->pwrb_handle); in beiscsi_free_mgmt_task_handles()
4609 io_task->pwrb_handle = NULL; in beiscsi_free_mgmt_task_handles()
4612 if (io_task->psgl_handle) { in beiscsi_free_mgmt_task_handles()
4615 io_task->psgl_handle); in beiscsi_free_mgmt_task_handles()
4616 io_task->psgl_handle = NULL; in beiscsi_free_mgmt_task_handles()
4620 if (io_task->mtask_addr) { in beiscsi_free_mgmt_task_handles()
4622 io_task->mtask_addr, in beiscsi_free_mgmt_task_handles()
4623 io_task->mtask_data_count, in beiscsi_free_mgmt_task_handles()
4625 io_task->mtask_addr = 0; in beiscsi_free_mgmt_task_handles()
4636 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_cleanup_task() local
4649 if (io_task->cmd_bhs) { in beiscsi_cleanup_task()
4650 pci_pool_free(beiscsi_sess->bhs_pool, io_task->cmd_bhs, in beiscsi_cleanup_task()
4651 io_task->bhs_pa.u.a64.address); in beiscsi_cleanup_task()
4652 io_task->cmd_bhs = NULL; in beiscsi_cleanup_task()
4656 if (io_task->pwrb_handle) { in beiscsi_cleanup_task()
4658 io_task->pwrb_handle); in beiscsi_cleanup_task()
4659 io_task->pwrb_handle = NULL; in beiscsi_cleanup_task()
4662 if (io_task->psgl_handle) { in beiscsi_cleanup_task()
4664 free_io_sgl_handle(phba, io_task->psgl_handle); in beiscsi_cleanup_task()
4666 io_task->psgl_handle = NULL; in beiscsi_cleanup_task()
4669 if (io_task->scsi_cmnd) { in beiscsi_cleanup_task()
4670 scsi_dma_unmap(io_task->scsi_cmnd); in beiscsi_cleanup_task()
4671 io_task->scsi_cmnd = NULL; in beiscsi_cleanup_task()
4742 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_alloc_pdu() local
4753 io_task->cmd_bhs = pci_pool_alloc(beiscsi_sess->bhs_pool, in beiscsi_alloc_pdu()
4755 if (!io_task->cmd_bhs) in beiscsi_alloc_pdu()
4757 io_task->bhs_pa.u.a64.address = paddr; in beiscsi_alloc_pdu()
4758 io_task->libiscsi_itt = (itt_t)task->itt; in beiscsi_alloc_pdu()
4759 io_task->conn = beiscsi_conn; in beiscsi_alloc_pdu()
4761 task->hdr = (struct iscsi_hdr *)&io_task->cmd_bhs->iscsi_hdr; in beiscsi_alloc_pdu()
4763 io_task->psgl_handle = NULL; in beiscsi_alloc_pdu()
4764 io_task->pwrb_handle = NULL; in beiscsi_alloc_pdu()
4768 io_task->psgl_handle = alloc_io_sgl_handle(phba); in beiscsi_alloc_pdu()
4770 if (!io_task->psgl_handle) { in beiscsi_alloc_pdu()
4778 io_task->pwrb_handle = alloc_wrb_handle(phba, in beiscsi_alloc_pdu()
4780 &io_task->pwrb_context); in beiscsi_alloc_pdu()
4781 if (!io_task->pwrb_handle) { in beiscsi_alloc_pdu()
4790 io_task->scsi_cmnd = NULL; in beiscsi_alloc_pdu()
4795 io_task->psgl_handle = (struct sgl_handle *) in beiscsi_alloc_pdu()
4798 if (!io_task->psgl_handle) { in beiscsi_alloc_pdu()
4811 io_task->psgl_handle; in beiscsi_alloc_pdu()
4812 io_task->pwrb_handle = in beiscsi_alloc_pdu()
4815 &io_task->pwrb_context); in beiscsi_alloc_pdu()
4816 if (!io_task->pwrb_handle) { in beiscsi_alloc_pdu()
4827 io_task->pwrb_handle; in beiscsi_alloc_pdu()
4830 io_task->psgl_handle = in beiscsi_alloc_pdu()
4832 io_task->pwrb_handle = in beiscsi_alloc_pdu()
4837 io_task->psgl_handle = alloc_mgmt_sgl_handle(phba); in beiscsi_alloc_pdu()
4839 if (!io_task->psgl_handle) { in beiscsi_alloc_pdu()
4849 io_task->pwrb_handle = in beiscsi_alloc_pdu()
4852 &io_task->pwrb_context); in beiscsi_alloc_pdu()
4853 if (!io_task->pwrb_handle) { in beiscsi_alloc_pdu()
4864 itt = (itt_t) cpu_to_be32(((unsigned int)io_task->pwrb_handle-> in beiscsi_alloc_pdu()
4866 (io_task->psgl_handle->sgl_index)); in beiscsi_alloc_pdu()
4867 io_task->pwrb_handle->pio_handle = task; in beiscsi_alloc_pdu()
4869 io_task->cmd_bhs->iscsi_hdr.itt = itt; in beiscsi_alloc_pdu()
4874 free_io_sgl_handle(phba, io_task->psgl_handle); in beiscsi_alloc_pdu()
4879 free_mgmt_sgl_handle(phba, io_task->psgl_handle); in beiscsi_alloc_pdu()
4880 io_task->psgl_handle = NULL; in beiscsi_alloc_pdu()
4887 if (io_task->pwrb_handle) in beiscsi_alloc_pdu()
4888 free_wrb_handle(phba, pwrb_context, io_task->pwrb_handle); in beiscsi_alloc_pdu()
4889 io_task->pwrb_handle = NULL; in beiscsi_alloc_pdu()
4890 pci_pool_free(beiscsi_sess->bhs_pool, io_task->cmd_bhs, in beiscsi_alloc_pdu()
4891 io_task->bhs_pa.u.a64.address); in beiscsi_alloc_pdu()
4892 io_task->cmd_bhs = NULL; in beiscsi_alloc_pdu()
4900 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_iotask_v2() local
4907 pwrb = io_task->pwrb_handle->pwrb; in beiscsi_iotask_v2()
4909 io_task->cmd_bhs->iscsi_hdr.exp_statsn = 0; in beiscsi_iotask_v2()
4910 io_task->bhs_len = sizeof(struct be_cmd_bhs); in beiscsi_iotask_v2()
4922 io_task->wrb_type = AMAP_GET_BITS(struct amap_iscsi_wrb_v2, in beiscsi_iotask_v2()
4927 &io_task->cmd_bhs->iscsi_hdr.lun)); in beiscsi_iotask_v2()
4930 io_task->pwrb_handle->wrb_index); in beiscsi_iotask_v2()
4934 io_task->psgl_handle->sgl_index); in beiscsi_iotask_v2()
4936 hwi_write_sgl_v2(pwrb, sg, num_sg, io_task); in beiscsi_iotask_v2()
4938 io_task->pwrb_handle->wrb_index); in beiscsi_iotask_v2()
4939 if (io_task->pwrb_context->plast_wrb) in beiscsi_iotask_v2()
4941 io_task->pwrb_context->plast_wrb, in beiscsi_iotask_v2()
4942 io_task->pwrb_handle->wrb_index); in beiscsi_iotask_v2()
4943 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_iotask_v2()
4948 doorbell |= (io_task->pwrb_handle->wrb_index & in beiscsi_iotask_v2()
4962 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_iotask() local
4969 pwrb = io_task->pwrb_handle->pwrb; in beiscsi_iotask()
4970 io_task->cmd_bhs->iscsi_hdr.exp_statsn = 0; in beiscsi_iotask()
4971 io_task->bhs_len = sizeof(struct be_cmd_bhs); in beiscsi_iotask()
4983 io_task->wrb_type = AMAP_GET_BITS(struct amap_iscsi_wrb, in beiscsi_iotask()
4988 &io_task->cmd_bhs->iscsi_hdr.lun)); in beiscsi_iotask()
4991 io_task->pwrb_handle->wrb_index); in beiscsi_iotask()
4995 io_task->psgl_handle->sgl_index); in beiscsi_iotask()
4997 hwi_write_sgl(pwrb, sg, num_sg, io_task); in beiscsi_iotask()
5000 io_task->pwrb_handle->wrb_index); in beiscsi_iotask()
5001 if (io_task->pwrb_context->plast_wrb) in beiscsi_iotask()
5003 io_task->pwrb_context->plast_wrb, in beiscsi_iotask()
5004 io_task->pwrb_handle->wrb_index); in beiscsi_iotask()
5005 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_iotask()
5010 doorbell |= (io_task->pwrb_handle->wrb_index & in beiscsi_iotask()
5021 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_mtask() local
5031 pwrb = io_task->pwrb_handle->pwrb; in beiscsi_mtask()
5038 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
5040 io_task->psgl_handle->sgl_index); in beiscsi_mtask()
5044 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
5045 if (io_task->pwrb_context->plast_wrb) in beiscsi_mtask()
5047 io_task->pwrb_context->plast_wrb, in beiscsi_mtask()
5048 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
5049 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_mtask()
5056 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
5058 io_task->psgl_handle->sgl_index); in beiscsi_mtask()
5062 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
5063 if (io_task->pwrb_context->plast_wrb) in beiscsi_mtask()
5065 io_task->pwrb_context->plast_wrb, in beiscsi_mtask()
5066 io_task->pwrb_handle->wrb_index); in beiscsi_mtask()
5067 io_task->pwrb_context->plast_wrb = pwrb; in beiscsi_mtask()
5121 io_task->wrb_type = (is_chip_be2_be3r(phba)) ? in beiscsi_mtask()
5126 doorbell |= (io_task->pwrb_handle->wrb_index & in beiscsi_mtask()
5136 struct beiscsi_io_task *io_task = task->dd_data; in beiscsi_task_xmit() local
5148 io_task->scsi_cmnd = sc; in beiscsi_task_xmit()
5159 be32_to_cpu(io_task->cmd_bhs->iscsi_hdr.itt), in beiscsi_task_xmit()
5160 io_task->libiscsi_itt, scsi_bufflen(sc)); in beiscsi_task_xmit()