Lines Matching refs:cmd_pkt

190 void qla2x00_build_scsi_iocbs_32(srb_t *sp, cmd_entry_t *cmd_pkt,  in qla2x00_build_scsi_iocbs_32()  argument
203 put_unaligned_le32(COMMAND_TYPE, &cmd_pkt->entry_type); in qla2x00_build_scsi_iocbs_32()
207 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_32()
212 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_32()
215 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd32); in qla2x00_build_scsi_iocbs_32()
216 cur_dsd = cmd_pkt->dsd32; in qla2x00_build_scsi_iocbs_32()
246 void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt, in qla2x00_build_scsi_iocbs_64() argument
259 put_unaligned_le32(COMMAND_A64_TYPE, &cmd_pkt->entry_type); in qla2x00_build_scsi_iocbs_64()
263 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_64()
268 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_64()
271 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd64); in qla2x00_build_scsi_iocbs_64()
272 cur_dsd = cmd_pkt->dsd64; in qla2x00_build_scsi_iocbs_64()
329 cmd_entry_t *cmd_pkt; in qla2x00_start_scsi() local
396 cmd_pkt = (cmd_entry_t *)req->ring_ptr; in qla2x00_start_scsi()
397 cmd_pkt->handle = handle; in qla2x00_start_scsi()
399 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_scsi()
401 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2x00_start_scsi()
404 SET_TARGET_ID(ha, cmd_pkt->target, sp->fcport->loop_id); in qla2x00_start_scsi()
405 cmd_pkt->lun = cpu_to_le16(cmd->device->lun); in qla2x00_start_scsi()
406 cmd_pkt->control_flags = cpu_to_le16(CF_SIMPLE_TAG); in qla2x00_start_scsi()
409 memcpy(cmd_pkt->scsi_cdb, cmd->cmnd, cmd->cmd_len); in qla2x00_start_scsi()
410 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2x00_start_scsi()
413 ha->isp_ops->build_iocbs(sp, cmd_pkt, tot_dsds); in qla2x00_start_scsi()
416 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2x00_start_scsi()
583 qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt, in qla24xx_build_scsi_type_6_iocbs() argument
601 put_unaligned_le32(COMMAND_TYPE_6, &cmd_pkt->entry_type); in qla24xx_build_scsi_type_6_iocbs()
605 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_type_6_iocbs()
614 cmd_pkt->control_flags = cpu_to_le16(CF_WRITE_DATA); in qla24xx_build_scsi_type_6_iocbs()
618 cmd_pkt->control_flags = cpu_to_le16(CF_READ_DATA); in qla24xx_build_scsi_type_6_iocbs()
644 &cmd_pkt->fcp_dsd.address); in qla24xx_build_scsi_type_6_iocbs()
645 cmd_pkt->fcp_dsd.length = cpu_to_le32(dsd_list_len); in qla24xx_build_scsi_type_6_iocbs()
664 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE); in qla24xx_build_scsi_type_6_iocbs()
698 qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt, in qla24xx_build_scsi_iocbs() argument
712 put_unaligned_le32(COMMAND_TYPE_7, &cmd_pkt->entry_type); in qla24xx_build_scsi_iocbs()
716 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_iocbs()
724 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_WRITE_DATA); in qla24xx_build_scsi_iocbs()
728 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_READ_DATA); in qla24xx_build_scsi_iocbs()
735 cur_dsd = &cmd_pkt->dsd; in qla24xx_build_scsi_iocbs()
1389 qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt, in qla24xx_build_scsi_crc_2_iocbs() argument
1411 put_unaligned_le32(COMMAND_TYPE_CRC_2, &cmd_pkt->entry_type); in qla24xx_build_scsi_crc_2_iocbs()
1419 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1423 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_build_scsi_crc_2_iocbs()
1427 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1430 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1452 crc_ctx_pkt->handle = cmd_pkt->handle; in qla24xx_build_scsi_crc_2_iocbs()
1459 put_unaligned_le64(crc_ctx_dma, &cmd_pkt->crc_context_address); in qla24xx_build_scsi_crc_2_iocbs()
1460 cmd_pkt->crc_context_len = cpu_to_le16(CRC_CONTEXT_LEN_FW); in qla24xx_build_scsi_crc_2_iocbs()
1485 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(fcp_cmnd_len); in qla24xx_build_scsi_crc_2_iocbs()
1487 &cmd_pkt->fcp_cmnd_dseg_address); in qla24xx_build_scsi_crc_2_iocbs()
1491 cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ in qla24xx_build_scsi_crc_2_iocbs()
1548 cmd_pkt->byte_count = cpu_to_le32(total_bytes); in qla24xx_build_scsi_crc_2_iocbs()
1554 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1559 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1571 cmd_pkt->control_flags |= cpu_to_le16(CF_DIF_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1598 struct cmd_type_7 *cmd_pkt; in qla24xx_start_scsi() local
1664 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla24xx_start_scsi()
1665 cmd_pkt->handle = make_handle(req->id, handle); in qla24xx_start_scsi()
1669 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_start_scsi()
1671 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_start_scsi()
1674 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_start_scsi()
1675 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_start_scsi()
1676 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_start_scsi()
1677 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_start_scsi()
1678 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_start_scsi()
1680 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_start_scsi()
1681 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_start_scsi()
1683 cmd_pkt->task = TSK_SIMPLE; in qla24xx_start_scsi()
1686 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla24xx_start_scsi()
1687 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla24xx_start_scsi()
1689 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla24xx_start_scsi()
1692 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla24xx_start_scsi()
1695 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_start_scsi()
1746 struct cmd_type_crc_2 *cmd_pkt; in qla24xx_dif_start_scsi() local
1859 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla24xx_dif_start_scsi()
1860 cmd_pkt->handle = make_handle(req->id, handle); in qla24xx_dif_start_scsi()
1862 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_dif_start_scsi()
1866 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_dif_start_scsi()
1867 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_dif_start_scsi()
1868 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_dif_start_scsi()
1869 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_dif_start_scsi()
1871 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_dif_start_scsi()
1872 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_dif_start_scsi()
1875 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_dif_start_scsi()
1883 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_dif_start_scsi()
1885 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla24xx_dif_start_scsi()
1886 cmd_pkt->timeout = cpu_to_le16(0); in qla24xx_dif_start_scsi()
1929 struct cmd_type_7 *cmd_pkt; in qla2xxx_start_scsi_mq() local
1998 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla2xxx_start_scsi_mq()
1999 cmd_pkt->handle = make_handle(req->id, handle); in qla2xxx_start_scsi_mq()
2003 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_start_scsi_mq()
2005 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_start_scsi_mq()
2008 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_start_scsi_mq()
2009 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_start_scsi_mq()
2010 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_start_scsi_mq()
2011 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_start_scsi_mq()
2012 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla2xxx_start_scsi_mq()
2014 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_start_scsi_mq()
2015 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_start_scsi_mq()
2017 cmd_pkt->task = TSK_SIMPLE; in qla2xxx_start_scsi_mq()
2020 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla2xxx_start_scsi_mq()
2021 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla2xxx_start_scsi_mq()
2023 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2xxx_start_scsi_mq()
2026 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla2xxx_start_scsi_mq()
2029 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_start_scsi_mq()
2081 struct cmd_type_crc_2 *cmd_pkt; in qla2xxx_dif_start_scsi_mq() local
2208 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla2xxx_dif_start_scsi_mq()
2209 cmd_pkt->handle = make_handle(req->id, handle); in qla2xxx_dif_start_scsi_mq()
2211 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_dif_start_scsi_mq()
2215 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_dif_start_scsi_mq()
2216 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_dif_start_scsi_mq()
2217 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_dif_start_scsi_mq()
2218 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_dif_start_scsi_mq()
2220 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_dif_start_scsi_mq()
2221 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_dif_start_scsi_mq()
2224 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_dif_start_scsi_mq()
2232 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_dif_start_scsi_mq()
2233 cmd_pkt->timeout = cpu_to_le16(0); in qla2xxx_dif_start_scsi_mq()
3307 struct cmd_type_6 *cmd_pkt; in qla82xx_start_scsi() local
3401 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr; in qla82xx_start_scsi()
3402 cmd_pkt->handle = make_handle(req->id, handle); in qla82xx_start_scsi()
3406 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3408 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3411 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3412 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3413 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3414 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3415 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3418 if (qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds)) in qla82xx_start_scsi()
3421 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3422 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3444 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len); in qla82xx_start_scsi()
3446 &cmd_pkt->fcp_cmnd_dseg_address); in qla82xx_start_scsi()
3449 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3451 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3455 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3457 struct cmd_type_7 *cmd_pkt; in qla82xx_start_scsi() local
3472 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla82xx_start_scsi()
3473 cmd_pkt->handle = make_handle(req->id, handle); in qla82xx_start_scsi()
3477 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3479 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3482 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3483 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3484 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3485 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3486 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3488 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3489 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, in qla82xx_start_scsi()
3490 sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3494 cmd_pkt->task |= sp->fcport->fcp_prio << 3; in qla82xx_start_scsi()
3497 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla82xx_start_scsi()
3498 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla82xx_start_scsi()
3500 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3503 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla82xx_start_scsi()
3506 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3510 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3647 qla_nvme_ls(srb_t *sp, struct pt_ls4_request *cmd_pkt) in qla_nvme_ls() argument
3652 cmd_pkt->entry_type = PT_LS4_REQUEST; in qla_nvme_ls()
3653 cmd_pkt->entry_count = 1; in qla_nvme_ls()
3654 cmd_pkt->control_flags = cpu_to_le16(CF_LS4_ORIGINATOR << CF_LS4_SHIFT); in qla_nvme_ls()
3656 cmd_pkt->timeout = cpu_to_le16(nvme->u.nvme.timeout_sec); in qla_nvme_ls()
3657 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla_nvme_ls()
3658 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla_nvme_ls()
3660 cmd_pkt->tx_dseg_count = cpu_to_le16(1); in qla_nvme_ls()
3661 cmd_pkt->tx_byte_count = cpu_to_le32(nvme->u.nvme.cmd_len); in qla_nvme_ls()
3662 cmd_pkt->dsd[0].length = cpu_to_le32(nvme->u.nvme.cmd_len); in qla_nvme_ls()
3663 put_unaligned_le64(nvme->u.nvme.cmd_dma, &cmd_pkt->dsd[0].address); in qla_nvme_ls()
3665 cmd_pkt->rx_dseg_count = cpu_to_le16(1); in qla_nvme_ls()
3666 cmd_pkt->rx_byte_count = cpu_to_le32(nvme->u.nvme.rsp_len); in qla_nvme_ls()
3667 cmd_pkt->dsd[1].length = cpu_to_le32(nvme->u.nvme.rsp_len); in qla_nvme_ls()
3668 put_unaligned_le64(nvme->u.nvme.rsp_dma, &cmd_pkt->dsd[1].address); in qla_nvme_ls()
3805 struct cmd_bidir *cmd_pkt, uint32_t tot_dsds) in qla25xx_build_bidir_iocb() argument
3817 put_unaligned_le32(COMMAND_BIDIRECTIONAL, &cmd_pkt->entry_type); in qla25xx_build_bidir_iocb()
3823 cmd_pkt->wr_dseg_count = cpu_to_le16(bsg_job->request_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3824 cmd_pkt->rd_dseg_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3825 cmd_pkt->control_flags = cpu_to_le16(BD_WRITE_DATA | BD_READ_DATA | in qla25xx_build_bidir_iocb()
3829 cmd_pkt->wr_byte_count = cpu_to_le32(req_data_len); in qla25xx_build_bidir_iocb()
3830 cmd_pkt->rd_byte_count = cpu_to_le32(rsp_data_len); in qla25xx_build_bidir_iocb()
3831 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2); in qla25xx_build_bidir_iocb()
3843 cur_dsd = &cmd_pkt->fcp_dsd; in qla25xx_build_bidir_iocb()
3887 cmd_pkt->entry_count = entry_count; in qla25xx_build_bidir_iocb()
3900 struct cmd_bidir *cmd_pkt = NULL; in qla2x00_start_bidir() local
3945 cmd_pkt = (struct cmd_bidir *)req->ring_ptr; in qla2x00_start_bidir()
3946 cmd_pkt->handle = make_handle(req->id, handle); in qla2x00_start_bidir()
3950 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_bidir()
3954 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id); in qla2x00_start_bidir()
3955 cmd_pkt->port_id[0] = vha->d_id.b.al_pa; in qla2x00_start_bidir()
3956 cmd_pkt->port_id[1] = vha->d_id.b.area; in qla2x00_start_bidir()
3957 cmd_pkt->port_id[2] = vha->d_id.b.domain; in qla2x00_start_bidir()
3959 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds); in qla2x00_start_bidir()
3960 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla2x00_start_bidir()