Lines Matching refs:cmd_pkt
192 void qla2x00_build_scsi_iocbs_32(srb_t *sp, cmd_entry_t *cmd_pkt, in qla2x00_build_scsi_iocbs_32() argument
205 *((uint32_t *)(&cmd_pkt->entry_type)) = in qla2x00_build_scsi_iocbs_32()
210 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_32()
215 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_32()
219 cur_dsd = (uint32_t *)&cmd_pkt->dseg_0_address; in qla2x00_build_scsi_iocbs_32()
250 void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt, in qla2x00_build_scsi_iocbs_64() argument
263 *((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_A64_TYPE); in qla2x00_build_scsi_iocbs_64()
267 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_64()
272 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_64()
276 cur_dsd = (uint32_t *)&cmd_pkt->dseg_0_address; in qla2x00_build_scsi_iocbs_64()
318 cmd_entry_t *cmd_pkt; in qla2x00_start_scsi() local
393 cmd_pkt = (cmd_entry_t *)req->ring_ptr; in qla2x00_start_scsi()
394 cmd_pkt->handle = handle; in qla2x00_start_scsi()
396 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_scsi()
398 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2x00_start_scsi()
401 SET_TARGET_ID(ha, cmd_pkt->target, sp->fcport->loop_id); in qla2x00_start_scsi()
402 cmd_pkt->lun = cpu_to_le16(cmd->device->lun); in qla2x00_start_scsi()
403 cmd_pkt->control_flags = cpu_to_le16(CF_SIMPLE_TAG); in qla2x00_start_scsi()
406 memcpy(cmd_pkt->scsi_cdb, cmd->cmnd, cmd->cmd_len); in qla2x00_start_scsi()
407 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2x00_start_scsi()
410 ha->isp_ops->build_iocbs(sp, cmd_pkt, tot_dsds); in qla2x00_start_scsi()
413 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2x00_start_scsi()
584 qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt, in qla24xx_build_scsi_type_6_iocbs() argument
603 *((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_TYPE_6); in qla24xx_build_scsi_type_6_iocbs()
607 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_type_6_iocbs()
616 cmd_pkt->control_flags = cpu_to_le16(CF_WRITE_DATA); in qla24xx_build_scsi_type_6_iocbs()
620 cmd_pkt->control_flags = cpu_to_le16(CF_READ_DATA); in qla24xx_build_scsi_type_6_iocbs()
645 dsd_seg = (uint32_t *)&cmd_pkt->fcp_data_dseg_address; in qla24xx_build_scsi_type_6_iocbs()
648 cmd_pkt->fcp_data_dseg_len = cpu_to_le32(dsd_list_len); in qla24xx_build_scsi_type_6_iocbs()
671 cmd_pkt->control_flags |= CF_DATA_SEG_DESCR_ENABLE; in qla24xx_build_scsi_type_6_iocbs()
705 qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt, in qla24xx_build_scsi_iocbs() argument
718 *((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_TYPE_7); in qla24xx_build_scsi_iocbs()
722 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_iocbs()
730 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_WRITE_DATA); in qla24xx_build_scsi_iocbs()
734 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_READ_DATA); in qla24xx_build_scsi_iocbs()
741 cur_dsd = (uint32_t *)&cmd_pkt->dseg_0_address; in qla24xx_build_scsi_iocbs()
1202 qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt, in qla24xx_build_scsi_crc_2_iocbs() argument
1223 *((uint32_t *)(&cmd_pkt->entry_type)) = cpu_to_le32(COMMAND_TYPE_CRC_2); in qla24xx_build_scsi_crc_2_iocbs()
1231 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1235 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_build_scsi_crc_2_iocbs()
1239 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1242 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1264 crc_ctx_pkt->handle = cmd_pkt->handle; in qla24xx_build_scsi_crc_2_iocbs()
1271 cmd_pkt->crc_context_address[0] = cpu_to_le32(LSD(crc_ctx_dma)); in qla24xx_build_scsi_crc_2_iocbs()
1272 cmd_pkt->crc_context_address[1] = cpu_to_le32(MSD(crc_ctx_dma)); in qla24xx_build_scsi_crc_2_iocbs()
1273 cmd_pkt->crc_context_len = CRC_CONTEXT_LEN_FW; in qla24xx_build_scsi_crc_2_iocbs()
1298 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(fcp_cmnd_len); in qla24xx_build_scsi_crc_2_iocbs()
1299 cmd_pkt->fcp_cmnd_dseg_address[0] = cpu_to_le32( in qla24xx_build_scsi_crc_2_iocbs()
1301 cmd_pkt->fcp_cmnd_dseg_address[1] = cpu_to_le32( in qla24xx_build_scsi_crc_2_iocbs()
1306 cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ in qla24xx_build_scsi_crc_2_iocbs()
1363 cmd_pkt->byte_count = cpu_to_le32(total_bytes); in qla24xx_build_scsi_crc_2_iocbs()
1369 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1374 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1386 cmd_pkt->control_flags |= cpu_to_le16(CF_DIF_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1414 struct cmd_type_7 *cmd_pkt; in qla24xx_start_scsi() local
1484 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla24xx_start_scsi()
1485 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_start_scsi()
1489 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_start_scsi()
1491 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_start_scsi()
1494 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_start_scsi()
1495 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_start_scsi()
1496 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_start_scsi()
1497 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_start_scsi()
1498 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_start_scsi()
1500 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_start_scsi()
1501 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_start_scsi()
1503 cmd_pkt->task = TSK_SIMPLE; in qla24xx_start_scsi()
1506 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla24xx_start_scsi()
1507 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla24xx_start_scsi()
1509 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla24xx_start_scsi()
1512 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla24xx_start_scsi()
1515 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_start_scsi()
1572 struct cmd_type_crc_2 *cmd_pkt; in qla24xx_dif_start_scsi() local
1688 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla24xx_dif_start_scsi()
1689 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_dif_start_scsi()
1691 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_dif_start_scsi()
1695 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_dif_start_scsi()
1696 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_dif_start_scsi()
1697 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_dif_start_scsi()
1698 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_dif_start_scsi()
1700 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_dif_start_scsi()
1701 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_dif_start_scsi()
1704 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_dif_start_scsi()
1712 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_dif_start_scsi()
1714 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla24xx_dif_start_scsi()
1715 cmd_pkt->timeout = cpu_to_le16(0); in qla24xx_dif_start_scsi()
1764 struct cmd_type_7 *cmd_pkt; in qla2xxx_start_scsi_mq() local
1837 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla2xxx_start_scsi_mq()
1838 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2xxx_start_scsi_mq()
1842 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_start_scsi_mq()
1844 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_start_scsi_mq()
1847 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_start_scsi_mq()
1848 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_start_scsi_mq()
1849 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_start_scsi_mq()
1850 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_start_scsi_mq()
1851 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla2xxx_start_scsi_mq()
1853 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_start_scsi_mq()
1854 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_start_scsi_mq()
1856 cmd_pkt->task = TSK_SIMPLE; in qla2xxx_start_scsi_mq()
1859 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla2xxx_start_scsi_mq()
1860 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla2xxx_start_scsi_mq()
1862 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2xxx_start_scsi_mq()
1865 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla2xxx_start_scsi_mq()
1868 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_start_scsi_mq()
1925 struct cmd_type_crc_2 *cmd_pkt; in qla2xxx_dif_start_scsi_mq() local
2055 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla2xxx_dif_start_scsi_mq()
2056 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2xxx_dif_start_scsi_mq()
2058 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_dif_start_scsi_mq()
2062 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_dif_start_scsi_mq()
2063 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_dif_start_scsi_mq()
2064 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_dif_start_scsi_mq()
2065 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_dif_start_scsi_mq()
2067 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_dif_start_scsi_mq()
2068 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_dif_start_scsi_mq()
2071 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_dif_start_scsi_mq()
2079 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_dif_start_scsi_mq()
2080 cmd_pkt->timeout = cpu_to_le16(0); in qla2xxx_dif_start_scsi_mq()
3050 struct cmd_type_6 *cmd_pkt; in qla82xx_start_scsi() local
3144 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr; in qla82xx_start_scsi()
3145 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
3149 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3151 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3154 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3155 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3156 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3157 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3158 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3161 if (qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds)) in qla82xx_start_scsi()
3164 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3165 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3187 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len); in qla82xx_start_scsi()
3188 cmd_pkt->fcp_cmnd_dseg_address[0] = in qla82xx_start_scsi()
3190 cmd_pkt->fcp_cmnd_dseg_address[1] = in qla82xx_start_scsi()
3194 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3196 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3200 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3202 struct cmd_type_7 *cmd_pkt; in qla82xx_start_scsi() local
3216 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla82xx_start_scsi()
3217 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
3221 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3223 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3226 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3227 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3228 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3229 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3230 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3232 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3233 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, in qla82xx_start_scsi()
3234 sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3238 cmd_pkt->task |= sp->fcport->fcp_prio << 3; in qla82xx_start_scsi()
3241 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla82xx_start_scsi()
3242 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla82xx_start_scsi()
3244 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3247 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla82xx_start_scsi()
3250 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3254 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3389 qla_nvme_ls(srb_t *sp, struct pt_ls4_request *cmd_pkt) in qla_nvme_ls() argument
3395 cmd_pkt->entry_type = PT_LS4_REQUEST; in qla_nvme_ls()
3396 cmd_pkt->entry_count = 1; in qla_nvme_ls()
3397 cmd_pkt->control_flags = CF_LS4_ORIGINATOR << CF_LS4_SHIFT; in qla_nvme_ls()
3399 cmd_pkt->timeout = cpu_to_le16(nvme->u.nvme.timeout_sec); in qla_nvme_ls()
3400 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla_nvme_ls()
3401 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla_nvme_ls()
3403 cmd_pkt->tx_dseg_count = 1; in qla_nvme_ls()
3404 cmd_pkt->tx_byte_count = nvme->u.nvme.cmd_len; in qla_nvme_ls()
3405 cmd_pkt->dseg0_len = nvme->u.nvme.cmd_len; in qla_nvme_ls()
3406 cmd_pkt->dseg0_address[0] = cpu_to_le32(LSD(nvme->u.nvme.cmd_dma)); in qla_nvme_ls()
3407 cmd_pkt->dseg0_address[1] = cpu_to_le32(MSD(nvme->u.nvme.cmd_dma)); in qla_nvme_ls()
3409 cmd_pkt->rx_dseg_count = 1; in qla_nvme_ls()
3410 cmd_pkt->rx_byte_count = nvme->u.nvme.rsp_len; in qla_nvme_ls()
3411 cmd_pkt->dseg1_len = nvme->u.nvme.rsp_len; in qla_nvme_ls()
3412 cmd_pkt->dseg1_address[0] = cpu_to_le32(LSD(nvme->u.nvme.rsp_dma)); in qla_nvme_ls()
3413 cmd_pkt->dseg1_address[1] = cpu_to_le32(MSD(nvme->u.nvme.rsp_dma)); in qla_nvme_ls()
3549 struct cmd_bidir *cmd_pkt, uint32_t tot_dsds) in qla25xx_build_bidir_iocb() argument
3561 *((uint32_t *)(&cmd_pkt->entry_type)) = in qla25xx_build_bidir_iocb()
3568 cmd_pkt->wr_dseg_count = cpu_to_le16(bsg_job->request_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3569 cmd_pkt->rd_dseg_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3570 cmd_pkt->control_flags = cpu_to_le16(BD_WRITE_DATA | BD_READ_DATA | in qla25xx_build_bidir_iocb()
3574 cmd_pkt->wr_byte_count = cpu_to_le32(req_data_len); in qla25xx_build_bidir_iocb()
3575 cmd_pkt->rd_byte_count = cpu_to_le32(rsp_data_len); in qla25xx_build_bidir_iocb()
3576 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2); in qla25xx_build_bidir_iocb()
3588 cur_dsd = (uint32_t *)&cmd_pkt->fcp_data_dseg_address; in qla25xx_build_bidir_iocb()
3640 cmd_pkt->entry_count = entry_count; in qla25xx_build_bidir_iocb()
3654 struct cmd_bidir *cmd_pkt = NULL; in qla2x00_start_bidir() local
3708 cmd_pkt = (struct cmd_bidir *)req->ring_ptr; in qla2x00_start_bidir()
3709 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2x00_start_bidir()
3713 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_bidir()
3717 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id); in qla2x00_start_bidir()
3718 cmd_pkt->port_id[0] = vha->d_id.b.al_pa; in qla2x00_start_bidir()
3719 cmd_pkt->port_id[1] = vha->d_id.b.area; in qla2x00_start_bidir()
3720 cmd_pkt->port_id[2] = vha->d_id.b.domain; in qla2x00_start_bidir()
3722 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds); in qla2x00_start_bidir()
3723 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla2x00_start_bidir()