Lines Matching refs:cmd_pkt

190  * @cmd_pkt: Command type 2 IOCB
193 void qla2x00_build_scsi_iocbs_32(srb_t *sp, cmd_entry_t *cmd_pkt,
206 put_unaligned_le32(COMMAND_TYPE, &cmd_pkt->entry_type);
210 cmd_pkt->byte_count = cpu_to_le32(0);
215 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp));
218 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd32);
219 cur_dsd = cmd_pkt->dsd32;
246 * @cmd_pkt: Command type 3 IOCB
249 void qla2x00_build_scsi_iocbs_64(srb_t *sp, cmd_entry_t *cmd_pkt,
262 put_unaligned_le32(COMMAND_A64_TYPE, &cmd_pkt->entry_type);
266 cmd_pkt->byte_count = cpu_to_le32(0);
271 cmd_pkt->control_flags |= cpu_to_le16(qla2x00_get_cmd_direction(sp));
274 avail_dsds = ARRAY_SIZE(cmd_pkt->dsd64);
275 cur_dsd = cmd_pkt->dsd64;
332 cmd_entry_t *cmd_pkt;
399 cmd_pkt = (cmd_entry_t *)req->ring_ptr;
400 cmd_pkt->handle = handle;
402 clr_ptr = (uint32_t *)cmd_pkt + 2;
404 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
407 SET_TARGET_ID(ha, cmd_pkt->target, sp->fcport->loop_id);
408 cmd_pkt->lun = cpu_to_le16(cmd->device->lun);
409 cmd_pkt->control_flags = cpu_to_le16(CF_SIMPLE_TAG);
412 memcpy(cmd_pkt->scsi_cdb, cmd->cmnd, cmd->cmd_len);
413 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
416 ha->isp_ops->build_iocbs(sp, cmd_pkt, tot_dsds);
419 cmd_pkt->entry_count = (uint8_t)req_cnt;
590 qla24xx_build_scsi_type_6_iocbs(srb_t *sp, struct cmd_type_6 *cmd_pkt,
606 put_unaligned_le32(COMMAND_TYPE_6, &cmd_pkt->entry_type);
611 cmd_pkt->byte_count = cpu_to_le32(0);
617 cmd_pkt->control_flags = cpu_to_le16(CF_WRITE_DATA);
621 cmd_pkt->control_flags = cpu_to_le16(CF_READ_DATA);
646 &cmd_pkt->fcp_dsd.address);
647 cmd_pkt->fcp_dsd.length = cpu_to_le32(dsd_list_len);
666 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE);
695 * @cmd_pkt: Command type 3 IOCB
700 qla24xx_build_scsi_iocbs(srb_t *sp, struct cmd_type_7 *cmd_pkt,
714 put_unaligned_le32(COMMAND_TYPE_7, &cmd_pkt->entry_type);
718 cmd_pkt->byte_count = cpu_to_le32(0);
726 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_WRITE_DATA);
730 cmd_pkt->task_mgmt_flags = cpu_to_le16(TMF_READ_DATA);
737 cur_dsd = &cmd_pkt->dsd;
1330 * @cmd_pkt: Command type 3 IOCB
1336 qla24xx_build_scsi_crc_2_iocbs(srb_t *sp, struct cmd_type_crc_2 *cmd_pkt,
1358 put_unaligned_le32(COMMAND_TYPE_CRC_2, &cmd_pkt->entry_type);
1366 cmd_pkt->byte_count = cpu_to_le32(0);
1370 cmd_pkt->vp_index = sp->vha->vp_idx;
1374 cmd_pkt->control_flags =
1377 cmd_pkt->control_flags =
1399 crc_ctx_pkt->handle = cmd_pkt->handle;
1406 put_unaligned_le64(crc_ctx_dma, &cmd_pkt->crc_context_address);
1407 cmd_pkt->crc_context_len = cpu_to_le16(CRC_CONTEXT_LEN_FW);
1432 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(fcp_cmnd_len);
1434 &cmd_pkt->fcp_cmnd_dseg_address);
1438 cmd_pkt->fcp_rsp_dseg_len = 0; /* Let response come in status iocb */
1495 cmd_pkt->byte_count = cpu_to_le32(total_bytes);
1501 cmd_pkt->byte_count = cpu_to_le32(0);
1506 cmd_pkt->control_flags |= cpu_to_le16(CF_DATA_SEG_DESCR_ENABLE);
1518 cmd_pkt->control_flags |= cpu_to_le16(CF_DIF_SEG_DESCR_ENABLE);
1545 struct cmd_type_7 *cmd_pkt;
1623 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr;
1624 cmd_pkt->handle = make_handle(req->id, handle);
1628 clr_ptr = (uint32_t *)cmd_pkt + 2;
1630 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
1633 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
1634 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
1635 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
1636 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
1637 cmd_pkt->vp_index = sp->vha->vp_idx;
1639 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
1640 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
1642 cmd_pkt->task = TSK_SIMPLE;
1645 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len);
1646 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb));
1648 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
1651 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req);
1654 cmd_pkt->entry_count = (uint8_t)req_cnt;
1711 struct cmd_type_crc_2 *cmd_pkt;
1832 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr;
1833 cmd_pkt->handle = make_handle(req->id, handle);
1835 clr_ptr = (uint32_t *)cmd_pkt + 2;
1839 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
1840 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
1841 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
1842 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
1844 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
1845 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
1848 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
1856 cmd_pkt->entry_count = (uint8_t)req_cnt;
1858 cmd_pkt->entry_status = (uint8_t) rsp->id;
1859 cmd_pkt->timeout = cpu_to_le16(0);
1909 struct cmd_type_7 *cmd_pkt;
1990 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr;
1991 cmd_pkt->handle = make_handle(req->id, handle);
1995 clr_ptr = (uint32_t *)cmd_pkt + 2;
1997 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
2000 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
2001 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
2002 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
2003 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
2004 cmd_pkt->vp_index = sp->fcport->vha->vp_idx;
2006 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
2007 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
2009 cmd_pkt->task = TSK_SIMPLE;
2012 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len);
2013 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb));
2015 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
2018 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req);
2021 cmd_pkt->entry_count = (uint8_t)req_cnt;
2079 struct cmd_type_crc_2 *cmd_pkt;
2215 cmd_pkt = (struct cmd_type_crc_2 *)req->ring_ptr;
2216 cmd_pkt->handle = make_handle(req->id, handle);
2218 clr_ptr = (uint32_t *)cmd_pkt + 2;
2222 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
2223 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
2224 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
2225 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
2227 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
2228 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
2231 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
2239 cmd_pkt->entry_count = (uint8_t)req_cnt;
2240 cmd_pkt->timeout = cpu_to_le16(0);
3433 struct cmd_type_6 *cmd_pkt;
3521 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr;
3522 cmd_pkt->handle = make_handle(req->id, handle);
3526 clr_ptr = (uint32_t *)cmd_pkt + 2;
3528 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
3531 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3532 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
3533 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
3534 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
3535 cmd_pkt->vp_index = sp->vha->vp_idx;
3538 if (qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds))
3541 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
3542 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
3564 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len);
3566 &cmd_pkt->fcp_cmnd_dseg_address);
3569 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
3571 cmd_pkt->entry_count = (uint8_t)req_cnt;
3575 cmd_pkt->entry_status = (uint8_t) rsp->id;
3577 struct cmd_type_7 *cmd_pkt;
3592 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr;
3593 cmd_pkt->handle = make_handle(req->id, handle);
3597 clr_ptr = (uint32_t *)cmd_pkt + 2;
3599 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
3602 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3603 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
3604 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
3605 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
3606 cmd_pkt->vp_index = sp->vha->vp_idx;
3608 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
3609 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun,
3610 sizeof(cmd_pkt->lun));
3614 cmd_pkt->task |= sp->fcport->fcp_prio << 3;
3617 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len);
3618 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb));
3620 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
3623 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req);
3626 cmd_pkt->entry_count = (uint8_t)req_cnt;
3630 cmd_pkt->entry_status = (uint8_t) rsp->id;
3783 qla_nvme_ls(srb_t *sp, struct pt_ls4_request *cmd_pkt)
3788 cmd_pkt->entry_type = PT_LS4_REQUEST;
3789 cmd_pkt->entry_count = 1;
3790 cmd_pkt->timeout = cpu_to_le16(nvme->u.nvme.timeout_sec);
3791 cmd_pkt->vp_index = sp->fcport->vha->vp_idx;
3794 cmd_pkt->control_flags =
3796 cmd_pkt->nport_handle = nvme->u.nvme.nport_handle;
3797 cmd_pkt->exchange_address = nvme->u.nvme.exchange_address;
3799 cmd_pkt->control_flags =
3801 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3802 cmd_pkt->rx_dseg_count = cpu_to_le16(1);
3803 cmd_pkt->rx_byte_count = nvme->u.nvme.rsp_len;
3804 cmd_pkt->dsd[1].length = nvme->u.nvme.rsp_len;
3805 put_unaligned_le64(nvme->u.nvme.rsp_dma, &cmd_pkt->dsd[1].address);
3808 cmd_pkt->tx_dseg_count = cpu_to_le16(1);
3809 cmd_pkt->tx_byte_count = nvme->u.nvme.cmd_len;
3810 cmd_pkt->dsd[0].length = nvme->u.nvme.cmd_len;
3811 put_unaligned_le64(nvme->u.nvme.cmd_dma, &cmd_pkt->dsd[0].address);
4052 struct cmd_bidir *cmd_pkt, uint32_t tot_dsds)
4064 put_unaligned_le32(COMMAND_BIDIRECTIONAL, &cmd_pkt->entry_type);
4070 cmd_pkt->wr_dseg_count = cpu_to_le16(bsg_job->request_payload.sg_cnt);
4071 cmd_pkt->rd_dseg_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt);
4072 cmd_pkt->control_flags = cpu_to_le16(BD_WRITE_DATA | BD_READ_DATA |
4076 cmd_pkt->wr_byte_count = cpu_to_le32(req_data_len);
4077 cmd_pkt->rd_byte_count = cpu_to_le32(rsp_data_len);
4078 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2);
4090 cur_dsd = &cmd_pkt->fcp_dsd;
4134 cmd_pkt->entry_count = entry_count;
4147 struct cmd_bidir *cmd_pkt = NULL;
4198 cmd_pkt = (struct cmd_bidir *)req->ring_ptr;
4199 cmd_pkt->handle = make_handle(req->id, handle);
4203 clr_ptr = (uint32_t *)cmd_pkt + 2;
4207 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id);
4208 cmd_pkt->port_id[0] = vha->d_id.b.al_pa;
4209 cmd_pkt->port_id[1] = vha->d_id.b.area;
4210 cmd_pkt->port_id[2] = vha->d_id.b.domain;
4212 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds);
4213 cmd_pkt->entry_status = (uint8_t) rsp->id;
4242 struct cmd_type_6 *cmd_pkt;
4399 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr;
4400 cmd_pkt->handle = make_handle(req->id, handle);
4403 clr_ptr = (uint32_t *)cmd_pkt + 2;
4405 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
4408 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
4409 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
4410 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
4411 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
4412 cmd_pkt->vp_index = sp->vha->vp_idx;
4415 qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds);
4417 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
4418 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
4440 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len);
4442 &cmd_pkt->fcp_cmnd_dseg_address);
4445 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
4447 cmd_pkt->entry_count = (uint8_t)req_cnt;