Lines Matching refs:ioarcb
595 trace_entry->op_code = ipr_cmd->ioarcb.cmd_pkt.cdb[0];
598 trace_entry->res_handle = ipr_cmd->ioarcb.res_handle;
632 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
637 hrrq_id = ioarcb->cmd_pkt.hrrq_id;
638 memset(&ioarcb->cmd_pkt, 0, sizeof(struct ipr_cmd_pkt));
639 ioarcb->cmd_pkt.hrrq_id = hrrq_id;
640 ioarcb->data_transfer_length = 0;
641 ioarcb->read_data_transfer_length = 0;
642 ioarcb->ioadl_len = 0;
643 ioarcb->read_ioadl_len = 0;
646 ioarcb->u.sis64_addr_data.data_ioadl_addr =
649 ioarcb->write_ioadl_addr =
651 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr;
888 * In the case of sis64, calculate the ioarcb size required. Then or in the
904 then use a 512 byte ioarcb */
987 ipr_cmd->ioarcb.ioadl_len =
989 ipr_cmd->ioarcb.data_transfer_length = cpu_to_be32(len);
995 ipr_cmd->ioarcb.read_ioadl_len =
997 ipr_cmd->ioarcb.read_data_transfer_length = cpu_to_be32(len);
999 ipr_cmd->ioarcb.ioadl_len =
1001 ipr_cmd->ioarcb.data_transfer_length = cpu_to_be32(len);
1059 struct ipr_ioarcb *ioarcb;
1067 ioarcb = &ipr_cmd->ioarcb;
1069 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
1070 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_HCAM;
1071 ioarcb->cmd_pkt.cdb[0] = IPR_HOST_CONTROLLED_ASYNC;
1072 ioarcb->cmd_pkt.cdb[1] = type;
1073 ioarcb->cmd_pkt.cdb[7] = (sizeof(hostrcb->hcam) >> 8) & 0xff;
1074 ioarcb->cmd_pkt.cdb[8] = sizeof(hostrcb->hcam) & 0xff;
3870 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
3877 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ;
3878 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len);
3880 ioarcb->ioadl_len =
3902 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
3909 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ;
3910 ioarcb->data_transfer_length = cpu_to_be32(sglist->buffer_len);
3912 ioarcb->ioadl_len =
5014 struct ipr_ioarcb *ioarcb;
5020 ioarcb = &ipr_cmd->ioarcb;
5021 cmd_pkt = &ioarcb->cmd_pkt;
5024 ioarcb->add_cmd_parms_offset = cpu_to_be16(sizeof(*ioarcb));
5026 ioarcb->res_handle = res->res_handle;
5119 if (res->res_handle == ipr_cmd->ioarcb.res_handle) {
5168 reset_cmd->ioarcb.res_handle = ipr_cmd->ioarcb.res_handle;
5169 cmd_pkt = &reset_cmd->ioarcb.cmd_pkt;
5239 ipr_cmd->ioarcb.res_handle = res->res_handle;
5240 cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt;
5622 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
5638 ioarcb->data_transfer_length = cpu_to_be32(length);
5639 ioarcb->ioadl_len =
5644 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ;
5674 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
5691 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ;
5692 ioarcb->data_transfer_length = cpu_to_be32(length);
5693 ioarcb->ioadl_len =
5697 ioarcb->read_data_transfer_length = cpu_to_be32(length);
5698 ioarcb->read_ioadl_len =
5702 if (ipr_cmd->dma_use_sg <= ARRAY_SIZE(ioarcb->u.add_data.u.ioadl)) {
5703 ioadl = ioarcb->u.add_data.u.ioadl;
5704 ioarcb->write_ioadl_addr = cpu_to_be32((ipr_cmd->dma_addr) +
5706 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr;
5785 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
5789 memset(&ioarcb->cmd_pkt, 0, sizeof(struct ipr_cmd_pkt));
5790 ioarcb->data_transfer_length = 0;
5791 ioarcb->read_data_transfer_length = 0;
5792 ioarcb->ioadl_len = 0;
5793 ioarcb->read_ioadl_len = 0;
5798 ioarcb->u.sis64_addr_data.data_ioadl_addr =
5801 ioarcb->write_ioadl_addr =
5803 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr;
5819 struct ipr_cmd_pkt *cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt;
5890 cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt;
6247 struct ipr_ioarcb *ioarcb;
6290 ioarcb = &ipr_cmd->ioarcb;
6292 memcpy(ioarcb->cmd_pkt.cdb, scsi_cmd->cmnd, scsi_cmd->cmd_len);
6298 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_ULEN_CHK;
6302 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_DELAY_AFTER_RST;
6307 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_LINK_DESC;
6309 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_ALIGNED_BFR;
6311 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_SIMPLE_TASK;
6313 ioarcb->cmd_pkt.flags_lo |= IPR_FLAGS_LO_UNTAGGED_TASK;
6318 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
6321 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_PIPE;
6324 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_NO_ULEN_CHK;
6348 ioarcb->res_handle = res->res_handle;
6350 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_SYNC_COMPLETE;
6585 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
6597 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
6598 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ;
6599 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
6601 ioarcb->cmd_pkt.cdb[0] = IPR_SET_SUPPORTED_DEVICES;
6602 ioarcb->cmd_pkt.cdb[1] = IPR_SET_ALL_SUPPORTED_DEVICES;
6603 ioarcb->cmd_pkt.cdb[7] = (sizeof(struct ipr_supported_device) >> 8) & 0xff;
6604 ioarcb->cmd_pkt.cdb[8] = sizeof(struct ipr_supported_device) & 0xff;
6786 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
6788 ioarcb->res_handle = res_handle;
6789 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_SCSICDB;
6790 ioarcb->cmd_pkt.flags_hi |= IPR_FLAGS_HI_WRITE_NOT_READ;
6791 ioarcb->cmd_pkt.cdb[0] = MODE_SELECT;
6792 ioarcb->cmd_pkt.cdb[1] = parm;
6793 ioarcb->cmd_pkt.cdb[4] = xfer_len;
6849 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
6851 ioarcb->res_handle = res_handle;
6852 ioarcb->cmd_pkt.cdb[0] = MODE_SENSE;
6853 ioarcb->cmd_pkt.cdb[2] = parm;
6854 ioarcb->cmd_pkt.cdb[4] = xfer_len;
6855 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_SCSICDB;
6876 ipr_cmd->ioarcb.cmd_pkt.cdb[0], ioasc);
7131 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
7141 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
7142 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
7144 ioarcb->cmd_pkt.cdb[0] = IPR_QUERY_IOA_CONFIG;
7145 ioarcb->cmd_pkt.cdb[6] = (ioa_cfg->cfg_table_size >> 16) & 0xff;
7146 ioarcb->cmd_pkt.cdb[7] = (ioa_cfg->cfg_table_size >> 8) & 0xff;
7147 ioarcb->cmd_pkt.cdb[8] = ioa_cfg->cfg_table_size & 0xff;
7173 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
7175 ioarcb->res_handle = res_handle;
7176 ioarcb->cmd_pkt.cdb[0] = IPR_IOA_SERVICE_ACTION;
7177 ioarcb->cmd_pkt.cdb[1] = sa_code;
7178 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
7191 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
7204 ioarcb->cmd_pkt.cdb[2] = 0x40;
7234 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
7237 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_SCSICDB;
7238 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
7240 ioarcb->cmd_pkt.cdb[0] = INQUIRY;
7241 ioarcb->cmd_pkt.cdb[1] = flags;
7242 ioarcb->cmd_pkt.cdb[2] = page;
7243 ioarcb->cmd_pkt.cdb[4] = xfer_len;
7444 struct ipr_ioarcb *ioarcb = &ipr_cmd->ioarcb;
7455 ioarcb->cmd_pkt.cdb[0] = IPR_ID_HOST_RR_Q;
7456 ioarcb->res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
7458 ioarcb->cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
7460 ioarcb->cmd_pkt.cdb[1] = 0x1;
7463 ioarcb->cmd_pkt.cdb[1] &= ~IPR_ID_HRRQ_SELE_ENABLE;
7465 ioarcb->cmd_pkt.cdb[1] |= IPR_ID_HRRQ_SELE_ENABLE;
7467 ioarcb->cmd_pkt.cdb[2] =
7469 ioarcb->cmd_pkt.cdb[3] =
7471 ioarcb->cmd_pkt.cdb[4] =
7473 ioarcb->cmd_pkt.cdb[5] =
7475 ioarcb->cmd_pkt.cdb[7] =
7477 ioarcb->cmd_pkt.cdb[8] =
7480 if (ioarcb->cmd_pkt.cdb[1] & IPR_ID_HRRQ_SELE_ENABLE)
7481 ioarcb->cmd_pkt.cdb[9] =
7485 ioarcb->cmd_pkt.cdb[10] =
7487 ioarcb->cmd_pkt.cdb[11] =
7489 ioarcb->cmd_pkt.cdb[12] =
7491 ioarcb->cmd_pkt.cdb[13] =
7495 if (ioarcb->cmd_pkt.cdb[1] & IPR_ID_HRRQ_SELE_ENABLE)
7496 ioarcb->cmd_pkt.cdb[14] =
8293 if (hcam_cmd->ioarcb.cmd_pkt.cdb[0] != IPR_HOST_CONTROLLED_ASYNC)
8296 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
8297 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
8298 cmd_pkt = &ipr_cmd->ioarcb.cmd_pkt;
8368 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
8369 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_SCSICDB;
8370 ipr_cmd->ioarcb.cmd_pkt.cdb[0] = WRITE_BUFFER;
8371 ipr_cmd->ioarcb.cmd_pkt.cdb[1] = IPR_WR_BUF_DOWNLOAD_AND_SAVE;
8372 ipr_cmd->ioarcb.cmd_pkt.cdb[6] = (sglist->buffer_len & 0xff0000) >> 16;
8373 ipr_cmd->ioarcb.cmd_pkt.cdb[7] = (sglist->buffer_len & 0x00ff00) >> 8;
8374 ipr_cmd->ioarcb.cmd_pkt.cdb[8] = sglist->buffer_len & 0x0000ff;
8412 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
8413 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
8414 ipr_cmd->ioarcb.cmd_pkt.cdb[0] = IPR_IOA_SHUTDOWN;
8415 ipr_cmd->ioarcb.cmd_pkt.cdb[1] = shutdown_type;
8876 struct ipr_ioarcb *ioarcb;
8941 ioarcb = &ipr_cmd->ioarcb;
8944 ioarcb->a.ioarcb_host_pci_addr64 = cpu_to_be64(dma_addr);
8946 ioarcb->a.ioarcb_host_pci_addr = cpu_to_be32(dma_addr);
8948 ioarcb->host_response_handle = cpu_to_be32(i << 2);
8950 ioarcb->u.sis64_addr_data.data_ioadl_addr =
8952 ioarcb->u.sis64_addr_data.ioasa_host_pci_addr =
8955 ioarcb->write_ioadl_addr =
8957 ioarcb->read_ioadl_addr = ioarcb->write_ioadl_addr;
8958 ioarcb->ioasa_host_pci_addr =
8961 ioarcb->ioasa_len = cpu_to_be16(sizeof(struct ipr_ioasa));
8967 ipr_cmd->ioarcb.cmd_pkt.hrrq_id = hrrq_id;
10066 ipr_cmd->ioarcb.res_handle = cpu_to_be32(IPR_IOA_RES_HANDLE);
10067 ipr_cmd->ioarcb.cmd_pkt.request_type = IPR_RQTYPE_IOACMD;
10068 ipr_cmd->ioarcb.cmd_pkt.cdb[0] = IPR_IOA_SHUTDOWN;
10069 ipr_cmd->ioarcb.cmd_pkt.cdb[1] = IPR_SHUTDOWN_PREPARE_FOR_NORMAL;