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 put_unaligned_le32(COMMAND_TYPE, &cmd_pkt->entry_type); in qla2x00_build_scsi_iocbs_32()
209 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_32()
214 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_32()
217 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd32); in qla2x00_build_scsi_iocbs_32()
218 cur_dsd = cmd_pkt->dsd32; in qla2x00_build_scsi_iocbs_32()
248 void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt, in qla2x00_build_scsi_iocbs_64() argument
261 put_unaligned_le32(COMMAND_A64_TYPE, &cmd_pkt->entry_type); in qla2x00_build_scsi_iocbs_64()
265 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_64()
270 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_64()
273 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd64); in qla2x00_build_scsi_iocbs_64()
274 cur_dsd = cmd_pkt->dsd64; in qla2x00_build_scsi_iocbs_64()
331 cmd_entry_t *cmd_pkt; in qla2x00_start_scsi() local
398 cmd_pkt = (cmd_entry_t *)req->ring_ptr; in qla2x00_start_scsi()
399 cmd_pkt->handle = handle; in qla2x00_start_scsi()
401 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_scsi()
403 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2x00_start_scsi()
406 SET_TARGET_ID(ha, cmd_pkt->target, sp->fcport->loop_id); in qla2x00_start_scsi()
407 cmd_pkt->lun = cpu_to_le16(cmd->device->lun); in qla2x00_start_scsi()
408 cmd_pkt->control_flags = cpu_to_le16(CF_SIMPLE_TAG); in qla2x00_start_scsi()
411 memcpy(cmd_pkt->scsi_cdb, cmd->cmnd, cmd->cmd_len); in qla2x00_start_scsi()
412 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2x00_start_scsi()
415 ha->isp_ops->build_iocbs(sp, cmd_pkt, tot_dsds); in qla2x00_start_scsi()
418 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2x00_start_scsi()
585 qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt, in qla24xx_build_scsi_type_6_iocbs() argument
603 put_unaligned_le32(COMMAND_TYPE_6, &cmd_pkt->entry_type); 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()
646 &cmd_pkt->fcp_dsd.address); in qla24xx_build_scsi_type_6_iocbs()
647 cmd_pkt->fcp_dsd.length = cpu_to_le32(dsd_list_len); in qla24xx_build_scsi_type_6_iocbs()
666 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE); in qla24xx_build_scsi_type_6_iocbs()
700 qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt, in qla24xx_build_scsi_iocbs() argument
714 put_unaligned_le32(COMMAND_TYPE_7, &cmd_pkt->entry_type); in qla24xx_build_scsi_iocbs()
718 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_iocbs()
726 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_WRITE_DATA); in qla24xx_build_scsi_iocbs()
730 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_READ_DATA); in qla24xx_build_scsi_iocbs()
737 cur_dsd = &cmd_pkt->dsd; in qla24xx_build_scsi_iocbs()
1336 qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt, in qla24xx_build_scsi_crc_2_iocbs() argument
1358 put_unaligned_le32(COMMAND_TYPE_CRC_2, &cmd_pkt->entry_type); in qla24xx_build_scsi_crc_2_iocbs()
1366 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1370 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_build_scsi_crc_2_iocbs()
1374 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1377 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1399 crc_ctx_pkt->handle = cmd_pkt->handle; in qla24xx_build_scsi_crc_2_iocbs()
1406 put_unaligned_le64(crc_ctx_dma, &cmd_pkt->crc_context_address); in qla24xx_build_scsi_crc_2_iocbs()
1407 cmd_pkt->crc_context_len = cpu_to_le16(CRC_CONTEXT_LEN_FW); in qla24xx_build_scsi_crc_2_iocbs()
1432 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(fcp_cmnd_len); in qla24xx_build_scsi_crc_2_iocbs()
1434 &cmd_pkt->fcp_cmnd_dseg_address); in qla24xx_build_scsi_crc_2_iocbs()
1438 cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ in qla24xx_build_scsi_crc_2_iocbs()
1495 cmd_pkt->byte_count = cpu_to_le32(total_bytes); in qla24xx_build_scsi_crc_2_iocbs()
1501 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1506 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1518 cmd_pkt->control_flags |= cpu_to_le16(CF_DIF_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1545 struct cmd_type_7 *cmd_pkt; in qla24xx_start_scsi() local
1622 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla24xx_start_scsi()
1623 cmd_pkt->handle = make_handle(req->id, handle); in qla24xx_start_scsi()
1627 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_start_scsi()
1629 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_start_scsi()
1632 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_start_scsi()
1633 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_start_scsi()
1634 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_start_scsi()
1635 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_start_scsi()
1636 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_start_scsi()
1638 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_start_scsi()
1639 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_start_scsi()
1641 cmd_pkt->task = TSK_SIMPLE; in qla24xx_start_scsi()
1644 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla24xx_start_scsi()
1645 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla24xx_start_scsi()
1647 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla24xx_start_scsi()
1650 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla24xx_start_scsi()
1653 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_start_scsi()
1710 struct cmd_type_crc_2 *cmd_pkt; in qla24xx_dif_start_scsi() local
1828 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla24xx_dif_start_scsi()
1829 cmd_pkt->handle = make_handle(req->id, handle); in qla24xx_dif_start_scsi()
1831 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_dif_start_scsi()
1835 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_dif_start_scsi()
1836 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_dif_start_scsi()
1837 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_dif_start_scsi()
1838 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_dif_start_scsi()
1840 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_dif_start_scsi()
1841 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_dif_start_scsi()
1844 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_dif_start_scsi()
1852 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_dif_start_scsi()
1854 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla24xx_dif_start_scsi()
1855 cmd_pkt->timeout = cpu_to_le16(0); in qla24xx_dif_start_scsi()
1905 struct cmd_type_7 *cmd_pkt; in qla2xxx_start_scsi_mq() local
1985 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla2xxx_start_scsi_mq()
1986 cmd_pkt->handle = make_handle(req->id, handle); in qla2xxx_start_scsi_mq()
1990 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_start_scsi_mq()
1992 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_start_scsi_mq()
1995 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_start_scsi_mq()
1996 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_start_scsi_mq()
1997 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_start_scsi_mq()
1998 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_start_scsi_mq()
1999 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla2xxx_start_scsi_mq()
2001 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_start_scsi_mq()
2002 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_start_scsi_mq()
2004 cmd_pkt->task = TSK_SIMPLE; in qla2xxx_start_scsi_mq()
2007 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla2xxx_start_scsi_mq()
2008 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla2xxx_start_scsi_mq()
2010 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2xxx_start_scsi_mq()
2013 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla2xxx_start_scsi_mq()
2016 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_start_scsi_mq()
2074 struct cmd_type_crc_2 *cmd_pkt; in qla2xxx_dif_start_scsi_mq() local
2207 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla2xxx_dif_start_scsi_mq()
2208 cmd_pkt->handle = make_handle(req->id, handle); in qla2xxx_dif_start_scsi_mq()
2210 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_dif_start_scsi_mq()
2214 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_dif_start_scsi_mq()
2215 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_dif_start_scsi_mq()
2216 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_dif_start_scsi_mq()
2217 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_dif_start_scsi_mq()
2219 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_dif_start_scsi_mq()
2220 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_dif_start_scsi_mq()
2223 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_dif_start_scsi_mq()
2231 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_dif_start_scsi_mq()
2232 cmd_pkt->timeout = cpu_to_le16(0); in qla2xxx_dif_start_scsi_mq()
3402 struct cmd_type_6 *cmd_pkt; in qla82xx_start_scsi() local
3496 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr; in qla82xx_start_scsi()
3497 cmd_pkt->handle = make_handle(req->id, handle); in qla82xx_start_scsi()
3501 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3503 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3506 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3507 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3508 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3509 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3510 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3513 if (qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds)) in qla82xx_start_scsi()
3516 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3517 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3539 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len); in qla82xx_start_scsi()
3541 &cmd_pkt->fcp_cmnd_dseg_address); in qla82xx_start_scsi()
3544 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3546 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3550 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3552 struct cmd_type_7 *cmd_pkt; in qla82xx_start_scsi() local
3567 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla82xx_start_scsi()
3568 cmd_pkt->handle = make_handle(req->id, handle); in qla82xx_start_scsi()
3572 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3574 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3577 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3578 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3579 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3580 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3581 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3583 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3584 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, in qla82xx_start_scsi()
3585 sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3589 cmd_pkt->task |= sp->fcport->fcp_prio << 3; in qla82xx_start_scsi()
3592 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla82xx_start_scsi()
3593 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla82xx_start_scsi()
3595 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3598 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla82xx_start_scsi()
3601 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3605 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3758 qla_nvme_ls(srb_t *sp, struct pt_ls4_request *cmd_pkt) in qla_nvme_ls() argument
3763 cmd_pkt->entry_type = PT_LS4_REQUEST; in qla_nvme_ls()
3764 cmd_pkt->entry_count = 1; in qla_nvme_ls()
3765 cmd_pkt->control_flags = cpu_to_le16(CF_LS4_ORIGINATOR << CF_LS4_SHIFT); in qla_nvme_ls()
3767 cmd_pkt->timeout = cpu_to_le16(nvme->u.nvme.timeout_sec); in qla_nvme_ls()
3768 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla_nvme_ls()
3769 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla_nvme_ls()
3771 cmd_pkt->tx_dseg_count = cpu_to_le16(1); in qla_nvme_ls()
3772 cmd_pkt->tx_byte_count = cpu_to_le32(nvme->u.nvme.cmd_len); in qla_nvme_ls()
3773 cmd_pkt->dsd[0].length = cpu_to_le32(nvme->u.nvme.cmd_len); in qla_nvme_ls()
3774 put_unaligned_le64(nvme->u.nvme.cmd_dma, &cmd_pkt->dsd[0].address); in qla_nvme_ls()
3776 cmd_pkt->rx_dseg_count = cpu_to_le16(1); in qla_nvme_ls()
3777 cmd_pkt->rx_byte_count = cpu_to_le32(nvme->u.nvme.rsp_len); in qla_nvme_ls()
3778 cmd_pkt->dsd[1].length = cpu_to_le32(nvme->u.nvme.rsp_len); in qla_nvme_ls()
3779 put_unaligned_le64(nvme->u.nvme.rsp_dma, &cmd_pkt->dsd[1].address); in qla_nvme_ls()
3936 struct cmd_bidir *cmd_pkt, uint32_t tot_dsds) in qla25xx_build_bidir_iocb() argument
3948 put_unaligned_le32(COMMAND_BIDIRECTIONAL, &cmd_pkt->entry_type); in qla25xx_build_bidir_iocb()
3954 cmd_pkt->wr_dseg_count = cpu_to_le16(bsg_job->request_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3955 cmd_pkt->rd_dseg_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3956 cmd_pkt->control_flags = cpu_to_le16(BD_WRITE_DATA | BD_READ_DATA | in qla25xx_build_bidir_iocb()
3960 cmd_pkt->wr_byte_count = cpu_to_le32(req_data_len); in qla25xx_build_bidir_iocb()
3961 cmd_pkt->rd_byte_count = cpu_to_le32(rsp_data_len); in qla25xx_build_bidir_iocb()
3962 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2); in qla25xx_build_bidir_iocb()
3974 cur_dsd = &cmd_pkt->fcp_dsd; in qla25xx_build_bidir_iocb()
4018 cmd_pkt->entry_count = entry_count; in qla25xx_build_bidir_iocb()
4031 struct cmd_bidir *cmd_pkt = NULL; in qla2x00_start_bidir() local
4082 cmd_pkt = (struct cmd_bidir *)req->ring_ptr; in qla2x00_start_bidir()
4083 cmd_pkt->handle = make_handle(req->id, handle); in qla2x00_start_bidir()
4087 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_bidir()
4091 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id); in qla2x00_start_bidir()
4092 cmd_pkt->port_id[0] = vha->d_id.b.al_pa; in qla2x00_start_bidir()
4093 cmd_pkt->port_id[1] = vha->d_id.b.area; in qla2x00_start_bidir()
4094 cmd_pkt->port_id[2] = vha->d_id.b.domain; in qla2x00_start_bidir()
4096 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds); in qla2x00_start_bidir()
4097 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla2x00_start_bidir()