Lines Matching refs:cmd_pkt

191 void qla2x00_build_scsi_iocbs_32(srb_t *sp, cmd_entry_t *cmd_pkt,  in qla2x00_build_scsi_iocbs_32()  argument
204 put_unaligned_le32(COMMAND_TYPE, &cmd_pkt->entry_type); in qla2x00_build_scsi_iocbs_32()
208 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_32()
213 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_32()
216 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd32); in qla2x00_build_scsi_iocbs_32()
217 cur_dsd = cmd_pkt->dsd32; in qla2x00_build_scsi_iocbs_32()
247 void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt, in qla2x00_build_scsi_iocbs_64() argument
260 put_unaligned_le32(COMMAND_A64_TYPE, &cmd_pkt->entry_type); in qla2x00_build_scsi_iocbs_64()
264 cmd_pkt->byte_count = cpu_to_le32(0); in qla2x00_build_scsi_iocbs_64()
269 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp)); in qla2x00_build_scsi_iocbs_64()
272 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd64); in qla2x00_build_scsi_iocbs_64()
273 cur_dsd = cmd_pkt->dsd64; in qla2x00_build_scsi_iocbs_64()
330 cmd_entry_t *cmd_pkt; in qla2x00_start_scsi() local
397 cmd_pkt = (cmd_entry_t *)req->ring_ptr; in qla2x00_start_scsi()
398 cmd_pkt->handle = handle; in qla2x00_start_scsi()
400 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_scsi()
402 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2x00_start_scsi()
405 SET_TARGET_ID(ha, cmd_pkt->target, sp->fcport->loop_id); in qla2x00_start_scsi()
406 cmd_pkt->lun = cpu_to_le16(cmd->device->lun); in qla2x00_start_scsi()
407 cmd_pkt->control_flags = cpu_to_le16(CF_SIMPLE_TAG); in qla2x00_start_scsi()
410 memcpy(cmd_pkt->scsi_cdb, cmd->cmnd, cmd->cmd_len); in qla2x00_start_scsi()
411 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2x00_start_scsi()
414 ha->isp_ops->build_iocbs(sp, cmd_pkt, tot_dsds); in qla2x00_start_scsi()
417 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
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 |= 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
711 put_unaligned_le32(COMMAND_TYPE_7, &cmd_pkt->entry_type); in qla24xx_build_scsi_iocbs()
715 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_iocbs()
723 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_WRITE_DATA); in qla24xx_build_scsi_iocbs()
727 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_READ_DATA); in qla24xx_build_scsi_iocbs()
734 cur_dsd = &cmd_pkt->dsd; in qla24xx_build_scsi_iocbs()
1388 qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt, in qla24xx_build_scsi_crc_2_iocbs() argument
1410 put_unaligned_le32(COMMAND_TYPE_CRC_2, &cmd_pkt->entry_type); in qla24xx_build_scsi_crc_2_iocbs()
1418 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1422 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_build_scsi_crc_2_iocbs()
1426 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1429 cmd_pkt->control_flags = in qla24xx_build_scsi_crc_2_iocbs()
1451 crc_ctx_pkt->handle = cmd_pkt->handle; in qla24xx_build_scsi_crc_2_iocbs()
1458 put_unaligned_le64(crc_ctx_dma, &cmd_pkt->crc_context_address); in qla24xx_build_scsi_crc_2_iocbs()
1459 cmd_pkt->crc_context_len = CRC_CONTEXT_LEN_FW; in qla24xx_build_scsi_crc_2_iocbs()
1484 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(fcp_cmnd_len); in qla24xx_build_scsi_crc_2_iocbs()
1486 &cmd_pkt->fcp_cmnd_dseg_address); in qla24xx_build_scsi_crc_2_iocbs()
1490 cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */ in qla24xx_build_scsi_crc_2_iocbs()
1547 cmd_pkt->byte_count = cpu_to_le32(total_bytes); in qla24xx_build_scsi_crc_2_iocbs()
1553 cmd_pkt->byte_count = cpu_to_le32(0); in qla24xx_build_scsi_crc_2_iocbs()
1558 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1570 cmd_pkt->control_flags |= cpu_to_le16(CF_DIF_SEG_DESCR_ENABLE); in qla24xx_build_scsi_crc_2_iocbs()
1597 struct cmd_type_7 *cmd_pkt; in qla24xx_start_scsi() local
1657 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla24xx_start_scsi()
1658 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_start_scsi()
1662 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_start_scsi()
1664 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_start_scsi()
1667 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_start_scsi()
1668 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_start_scsi()
1669 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_start_scsi()
1670 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_start_scsi()
1671 cmd_pkt->vp_index = sp->vha->vp_idx; in qla24xx_start_scsi()
1673 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_start_scsi()
1674 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_start_scsi()
1676 cmd_pkt->task = TSK_SIMPLE; in qla24xx_start_scsi()
1679 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla24xx_start_scsi()
1680 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla24xx_start_scsi()
1682 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla24xx_start_scsi()
1685 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla24xx_start_scsi()
1688 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_start_scsi()
1738 struct cmd_type_crc_2 *cmd_pkt; in qla24xx_dif_start_scsi() local
1845 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla24xx_dif_start_scsi()
1846 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla24xx_dif_start_scsi()
1848 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla24xx_dif_start_scsi()
1852 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla24xx_dif_start_scsi()
1853 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla24xx_dif_start_scsi()
1854 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla24xx_dif_start_scsi()
1855 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla24xx_dif_start_scsi()
1857 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla24xx_dif_start_scsi()
1858 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla24xx_dif_start_scsi()
1861 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla24xx_dif_start_scsi()
1869 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla24xx_dif_start_scsi()
1871 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla24xx_dif_start_scsi()
1872 cmd_pkt->timeout = cpu_to_le16(0); in qla24xx_dif_start_scsi()
1914 struct cmd_type_7 *cmd_pkt; in qla2xxx_start_scsi_mq() local
1977 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla2xxx_start_scsi_mq()
1978 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2xxx_start_scsi_mq()
1982 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_start_scsi_mq()
1984 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_start_scsi_mq()
1987 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_start_scsi_mq()
1988 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_start_scsi_mq()
1989 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_start_scsi_mq()
1990 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_start_scsi_mq()
1991 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla2xxx_start_scsi_mq()
1993 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_start_scsi_mq()
1994 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_start_scsi_mq()
1996 cmd_pkt->task = TSK_SIMPLE; in qla2xxx_start_scsi_mq()
1999 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla2xxx_start_scsi_mq()
2000 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla2xxx_start_scsi_mq()
2002 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla2xxx_start_scsi_mq()
2005 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla2xxx_start_scsi_mq()
2008 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_start_scsi_mq()
2059 struct cmd_type_crc_2 *cmd_pkt; in qla2xxx_dif_start_scsi_mq() local
2180 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr; in qla2xxx_dif_start_scsi_mq()
2181 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2xxx_dif_start_scsi_mq()
2183 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2xxx_dif_start_scsi_mq()
2187 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla2xxx_dif_start_scsi_mq()
2188 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla2xxx_dif_start_scsi_mq()
2189 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla2xxx_dif_start_scsi_mq()
2190 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla2xxx_dif_start_scsi_mq()
2192 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla2xxx_dif_start_scsi_mq()
2193 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla2xxx_dif_start_scsi_mq()
2196 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla2xxx_dif_start_scsi_mq()
2204 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla2xxx_dif_start_scsi_mq()
2205 cmd_pkt->timeout = cpu_to_le16(0); in qla2xxx_dif_start_scsi_mq()
3128 struct cmd_type_6 *cmd_pkt; in qla82xx_start_scsi() local
3222 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr; in qla82xx_start_scsi()
3223 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
3227 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3229 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3232 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3233 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3234 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3235 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3236 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3239 if (qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds)) in qla82xx_start_scsi()
3242 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3243 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3265 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len); in qla82xx_start_scsi()
3267 &cmd_pkt->fcp_cmnd_dseg_address); in qla82xx_start_scsi()
3270 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3272 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3276 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3278 struct cmd_type_7 *cmd_pkt; in qla82xx_start_scsi() local
3293 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr; in qla82xx_start_scsi()
3294 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla82xx_start_scsi()
3298 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla82xx_start_scsi()
3300 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds); in qla82xx_start_scsi()
3303 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla82xx_start_scsi()
3304 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa; in qla82xx_start_scsi()
3305 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area; in qla82xx_start_scsi()
3306 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain; in qla82xx_start_scsi()
3307 cmd_pkt->vp_index = sp->vha->vp_idx; in qla82xx_start_scsi()
3309 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun); in qla82xx_start_scsi()
3310 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, in qla82xx_start_scsi()
3311 sizeof(cmd_pkt->lun)); in qla82xx_start_scsi()
3315 cmd_pkt->task |= sp->fcport->fcp_prio << 3; in qla82xx_start_scsi()
3318 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len); in qla82xx_start_scsi()
3319 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb)); in qla82xx_start_scsi()
3321 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd)); in qla82xx_start_scsi()
3324 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req); in qla82xx_start_scsi()
3327 cmd_pkt->entry_count = (uint8_t)req_cnt; in qla82xx_start_scsi()
3331 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla82xx_start_scsi()
3468 qla_nvme_ls(srb_t *sp, struct pt_ls4_request *cmd_pkt) in qla_nvme_ls() argument
3474 cmd_pkt->entry_type = PT_LS4_REQUEST; in qla_nvme_ls()
3475 cmd_pkt->entry_count = 1; in qla_nvme_ls()
3476 cmd_pkt->control_flags = CF_LS4_ORIGINATOR << CF_LS4_SHIFT; in qla_nvme_ls()
3478 cmd_pkt->timeout = cpu_to_le16(nvme->u.nvme.timeout_sec); in qla_nvme_ls()
3479 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id); in qla_nvme_ls()
3480 cmd_pkt->vp_index = sp->fcport->vha->vp_idx; in qla_nvme_ls()
3482 cmd_pkt->tx_dseg_count = 1; in qla_nvme_ls()
3483 cmd_pkt->tx_byte_count = nvme->u.nvme.cmd_len; in qla_nvme_ls()
3484 cmd_pkt->dsd[0].length = nvme->u.nvme.cmd_len; in qla_nvme_ls()
3485 put_unaligned_le64(nvme->u.nvme.cmd_dma, &cmd_pkt->dsd[0].address); in qla_nvme_ls()
3487 cmd_pkt->rx_dseg_count = 1; in qla_nvme_ls()
3488 cmd_pkt->rx_byte_count = nvme->u.nvme.rsp_len; in qla_nvme_ls()
3489 cmd_pkt->dsd[1].length = nvme->u.nvme.rsp_len; in qla_nvme_ls()
3490 put_unaligned_le64(nvme->u.nvme.rsp_dma, &cmd_pkt->dsd[1].address); in qla_nvme_ls()
3629 struct cmd_bidir *cmd_pkt, uint32_t tot_dsds) in qla25xx_build_bidir_iocb() argument
3641 put_unaligned_le32(COMMAND_BIDIRECTIONAL, &cmd_pkt->entry_type); in qla25xx_build_bidir_iocb()
3647 cmd_pkt->wr_dseg_count = cpu_to_le16(bsg_job->request_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3648 cmd_pkt->rd_dseg_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt); in qla25xx_build_bidir_iocb()
3649 cmd_pkt->control_flags = cpu_to_le16(BD_WRITE_DATA | BD_READ_DATA | in qla25xx_build_bidir_iocb()
3653 cmd_pkt->wr_byte_count = cpu_to_le32(req_data_len); in qla25xx_build_bidir_iocb()
3654 cmd_pkt->rd_byte_count = cpu_to_le32(rsp_data_len); in qla25xx_build_bidir_iocb()
3655 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2); in qla25xx_build_bidir_iocb()
3667 cur_dsd = &cmd_pkt->fcp_dsd; in qla25xx_build_bidir_iocb()
3711 cmd_pkt->entry_count = entry_count; in qla25xx_build_bidir_iocb()
3724 struct cmd_bidir *cmd_pkt = NULL; in qla2x00_start_bidir() local
3769 cmd_pkt = (struct cmd_bidir *)req->ring_ptr; in qla2x00_start_bidir()
3770 cmd_pkt->handle = MAKE_HANDLE(req->id, handle); in qla2x00_start_bidir()
3774 clr_ptr = (uint32_t *)cmd_pkt + 2; in qla2x00_start_bidir()
3778 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id); in qla2x00_start_bidir()
3779 cmd_pkt->port_id[0] = vha->d_id.b.al_pa; in qla2x00_start_bidir()
3780 cmd_pkt->port_id[1] = vha->d_id.b.area; in qla2x00_start_bidir()
3781 cmd_pkt->port_id[2] = vha->d_id.b.domain; in qla2x00_start_bidir()
3783 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds); in qla2x00_start_bidir()
3784 cmd_pkt->entry_status = (uint8_t) rsp->id; in qla2x00_start_bidir()