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);
3413 struct cmd_type_6 *cmd_pkt;
3501 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr;
3502 cmd_pkt->handle = make_handle(req->id, handle);
3506 clr_ptr = (uint32_t *)cmd_pkt + 2;
3508 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
3511 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3512 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
3513 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
3514 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
3515 cmd_pkt->vp_index = sp->vha->vp_idx;
3518 if (qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds))
3521 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
3522 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
3544 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len);
3546 &cmd_pkt->fcp_cmnd_dseg_address);
3549 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
3551 cmd_pkt->entry_count = (uint8_t)req_cnt;
3555 cmd_pkt->entry_status = (uint8_t) rsp->id;
3557 struct cmd_type_7 *cmd_pkt;
3572 cmd_pkt = (struct cmd_type_7 *)req->ring_ptr;
3573 cmd_pkt->handle = make_handle(req->id, handle);
3577 clr_ptr = (uint32_t *)cmd_pkt + 2;
3579 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
3582 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3583 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
3584 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
3585 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
3586 cmd_pkt->vp_index = sp->vha->vp_idx;
3588 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
3589 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun,
3590 sizeof(cmd_pkt->lun));
3594 cmd_pkt->task |= sp->fcport->fcp_prio << 3;
3597 memcpy(cmd_pkt->fcp_cdb, cmd->cmnd, cmd->cmd_len);
3598 host_to_fcp_swap(cmd_pkt->fcp_cdb, sizeof(cmd_pkt->fcp_cdb));
3600 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
3603 qla24xx_build_scsi_iocbs(sp, cmd_pkt, tot_dsds, req);
3606 cmd_pkt->entry_count = (uint8_t)req_cnt;
3610 cmd_pkt->entry_status = (uint8_t) rsp->id;
3763 qla_nvme_ls(srb_t *sp, struct pt_ls4_request *cmd_pkt)
3768 cmd_pkt->entry_type = PT_LS4_REQUEST;
3769 cmd_pkt->entry_count = 1;
3770 cmd_pkt->timeout = cpu_to_le16(nvme->u.nvme.timeout_sec);
3771 cmd_pkt->vp_index = sp->fcport->vha->vp_idx;
3774 cmd_pkt->control_flags =
3776 cmd_pkt->nport_handle = nvme->u.nvme.nport_handle;
3777 cmd_pkt->exchange_address = nvme->u.nvme.exchange_address;
3779 cmd_pkt->control_flags =
3781 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
3782 cmd_pkt->rx_dseg_count = cpu_to_le16(1);
3783 cmd_pkt->rx_byte_count = nvme->u.nvme.rsp_len;
3784 cmd_pkt->dsd[1].length = nvme->u.nvme.rsp_len;
3785 put_unaligned_le64(nvme->u.nvme.rsp_dma, &cmd_pkt->dsd[1].address);
3788 cmd_pkt->tx_dseg_count = cpu_to_le16(1);
3789 cmd_pkt->tx_byte_count = nvme->u.nvme.cmd_len;
3790 cmd_pkt->dsd[0].length = nvme->u.nvme.cmd_len;
3791 put_unaligned_le64(nvme->u.nvme.cmd_dma, &cmd_pkt->dsd[0].address);
4032 struct cmd_bidir *cmd_pkt, uint32_t tot_dsds)
4044 put_unaligned_le32(COMMAND_BIDIRECTIONAL, &cmd_pkt->entry_type);
4050 cmd_pkt->wr_dseg_count = cpu_to_le16(bsg_job->request_payload.sg_cnt);
4051 cmd_pkt->rd_dseg_count = cpu_to_le16(bsg_job->reply_payload.sg_cnt);
4052 cmd_pkt->control_flags = cpu_to_le16(BD_WRITE_DATA | BD_READ_DATA |
4056 cmd_pkt->wr_byte_count = cpu_to_le32(req_data_len);
4057 cmd_pkt->rd_byte_count = cpu_to_le32(rsp_data_len);
4058 cmd_pkt->timeout = cpu_to_le16(qla2x00_get_async_timeout(vha) + 2);
4070 cur_dsd = &cmd_pkt->fcp_dsd;
4114 cmd_pkt->entry_count = entry_count;
4127 struct cmd_bidir *cmd_pkt = NULL;
4178 cmd_pkt = (struct cmd_bidir *)req->ring_ptr;
4179 cmd_pkt->handle = make_handle(req->id, handle);
4183 clr_ptr = (uint32_t *)cmd_pkt + 2;
4187 cmd_pkt->nport_handle = cpu_to_le16(vha->self_login_loop_id);
4188 cmd_pkt->port_id[0] = vha->d_id.b.al_pa;
4189 cmd_pkt->port_id[1] = vha->d_id.b.area;
4190 cmd_pkt->port_id[2] = vha->d_id.b.domain;
4192 qla25xx_build_bidir_iocb(sp, vha, cmd_pkt, tot_dsds);
4193 cmd_pkt->entry_status = (uint8_t) rsp->id;
4222 struct cmd_type_6 *cmd_pkt;
4379 cmd_pkt = (struct cmd_type_6 *)req->ring_ptr;
4380 cmd_pkt->handle = make_handle(req->id, handle);
4383 clr_ptr = (uint32_t *)cmd_pkt + 2;
4385 cmd_pkt->dseg_count = cpu_to_le16(tot_dsds);
4388 cmd_pkt->nport_handle = cpu_to_le16(sp->fcport->loop_id);
4389 cmd_pkt->port_id[0] = sp->fcport->d_id.b.al_pa;
4390 cmd_pkt->port_id[1] = sp->fcport->d_id.b.area;
4391 cmd_pkt->port_id[2] = sp->fcport->d_id.b.domain;
4392 cmd_pkt->vp_index = sp->vha->vp_idx;
4395 qla24xx_build_scsi_type_6_iocbs(sp, cmd_pkt, tot_dsds);
4397 int_to_scsilun(cmd->device->lun, &cmd_pkt->lun);
4398 host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));
4420 cmd_pkt->fcp_cmnd_dseg_len = cpu_to_le16(ctx->fcp_cmnd_len);
4422 &cmd_pkt->fcp_cmnd_dseg_address);
4425 cmd_pkt->byte_count = cpu_to_le32((uint32_t)scsi_bufflen(cmd));
4427 cmd_pkt->entry_count = (uint8_t)req_cnt;