• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/

Lines Matching refs:ioarcb

351 	struct pmcraid_ioarcb *ioarcb = &(cmd->ioa_cb->ioarcb);
360 ioarcb->response_handle = cpu_to_le32(index << 2);
361 ioarcb->ioarcb_bus_addr = cpu_to_le64(dma_addr);
362 ioarcb->ioasa_bus_addr = cpu_to_le64(dma_addr + ioasa_offset);
363 ioarcb->ioasa_len = cpu_to_le16(sizeof(struct pmcraid_ioasa));
368 memset(&cmd->ioa_cb->ioarcb.cdb, 0, PMCRAID_MAX_CDB_LEN);
369 ioarcb->hrrq_id = 0;
370 ioarcb->request_flags0 = 0;
371 ioarcb->request_flags1 = 0;
372 ioarcb->cmd_timeout = 0;
373 ioarcb->ioarcb_bus_addr &= (~0x1FULL);
374 ioarcb->ioadl_bus_addr = 0;
375 ioarcb->ioadl_length = 0;
376 ioarcb->data_transfer_length = 0;
377 ioarcb->add_cmd_param_length = 0;
378 ioarcb->add_cmd_param_offset = 0;
754 cmd->ioa_cb->ioarcb.cdb[0]);
822 cmd->ioa_cb->ioarcb.cdb[0],
860 cmd->ioa_cb->ioarcb.cdb[0],
891 cmd->ioa_cb->ioarcb.cdb[0], ioasc);
941 iowrite32(le32_to_cpu(cmd->ioa_cb->ioarcb.ioarcb_bus_addr),
1009 cmd->ioa_cb->ioarcb.cdb[0],
1016 cmd->ioa_cb->ioarcb.request_type = REQ_TYPE_IOACMD;
1017 cmd->ioa_cb->ioarcb.resource_handle =
1019 cmd->ioa_cb->ioarcb.cdb[0] = PMCRAID_IOA_SHUTDOWN;
1020 cmd->ioa_cb->ioarcb.cdb[1] = PMCRAID_SHUTDOWN_NORMAL;
1024 le32_to_cpu(cmd->ioa_cb->ioarcb.response_handle));
1074 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
1075 struct pmcraid_ioadl_desc *ioadl = ioarcb->add_data.u.ioadl;
1080 ioarcb->request_type = REQ_TYPE_SCSI;
1081 ioarcb->resource_handle = cpu_to_le32(PMCRAID_IOA_RES_HANDLE);
1082 ioarcb->cdb[0] = INQUIRY;
1083 ioarcb->cdb[1] = 1;
1084 ioarcb->cdb[2] = 0xD0;
1085 ioarcb->cdb[3] = (data_size >> 8) & 0xFF;
1086 ioarcb->cdb[4] = data_size & 0xFF;
1090 ioarcb->ioadl_bus_addr = cpu_to_le64((cmd->ioa_cb_bus_addr) +
1093 ioarcb->ioadl_length = cpu_to_le32(sizeof(struct pmcraid_ioadl_desc));
1094 ioarcb->ioarcb_bus_addr &= ~(0x1FULL);
1096 ioarcb->request_flags0 |= NO_LINK_DESCS;
1097 ioarcb->data_transfer_length = cpu_to_le32(data_size);
1098 ioadl = &(ioarcb->add_data.u.ioadl[0]);
1117 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
1133 /* Initialize ioarcb */
1134 ioarcb->request_type = REQ_TYPE_IOACMD;
1135 ioarcb->resource_handle = cpu_to_le32(PMCRAID_IOA_RES_HANDLE);
1138 ioarcb->hrrq_id = index;
1139 ioarcb->cdb[0] = PMCRAID_IDENTIFY_HRRQ;
1140 ioarcb->cdb[1] = index;
1145 pmcraid_info("HRRQ_IDENTIFY with hrrq:ioarcb:index => %llx:%llx:%x\n",
1146 hrrq_addr, ioarcb->ioarcb_bus_addr, index);
1148 memcpy(&(ioarcb->cdb[2]), &hrrq_addr, sizeof(hrrq_addr));
1149 memcpy(&(ioarcb->cdb[10]), &hrrq_size, sizeof(hrrq_size));
1173 if (cmd->ioa_cb->ioarcb.cdb[1] == PMCRAID_HCAM_CODE_CONFIG_CHANGE)
1197 struct pmcraid_ioarcb *ioarcb;
1226 ioarcb = &cmd->ioa_cb->ioarcb;
1227 ioarcb->ioadl_bus_addr = cpu_to_le64((cmd->ioa_cb_bus_addr) +
1230 ioarcb->ioadl_length = cpu_to_le32(sizeof(struct pmcraid_ioadl_desc));
1231 ioadl = ioarcb->add_data.u.ioadl;
1233 /* Initialize ioarcb */
1234 ioarcb->request_type = REQ_TYPE_HCAM;
1235 ioarcb->resource_handle = cpu_to_le32(PMCRAID_IOA_RES_HANDLE);
1236 ioarcb->cdb[0] = PMCRAID_HOST_CONTROLLED_ASYNC;
1237 ioarcb->cdb[1] = type;
1238 ioarcb->cdb[7] = (rcb_size >> 8) & 0xFF;
1239 ioarcb->cdb[8] = (rcb_size) & 0xFF;
1241 ioarcb->data_transfer_length = cpu_to_le32(rcb_size);
1279 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
1280 __be64 ioarcb_addr = cmd_to_cancel->ioa_cb->ioarcb.ioarcb_bus_addr;
1285 ioarcb->resource_handle = cmd_to_cancel->ioa_cb->ioarcb.resource_handle;
1286 ioarcb->request_type = REQ_TYPE_IOACMD;
1287 memset(ioarcb->cdb, 0, PMCRAID_MAX_CDB_LEN);
1288 ioarcb->cdb[0] = PMCRAID_ABORT_CMD;
1295 memcpy(&(ioarcb->cdb[2]), &ioarcb_addr, sizeof(ioarcb_addr));
1342 cmd->ioa_cb->ioarcb.cdb[0],
1756 cmd->ioa_cb->ioarcb.cdb[0],
1757 cmd->ioa_cb->ioarcb.resource_handle,
2083 __le32 resp = cmd->ioa_cb->ioarcb.response_handle;
2092 cmd->ioa_cb->ioarcb.cdb[0],
2498 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
2499 struct pmcraid_ioadl_desc *ioadl = ioarcb->add_data.u.ioadl;
2515 memset(ioarcb->cdb, 0, PMCRAID_MAX_CDB_LEN);
2516 ioarcb->request_flags0 = (SYNC_COMPLETE |
2519 ioarcb->request_type = REQ_TYPE_SCSI;
2520 ioarcb->cdb[0] = REQUEST_SENSE;
2521 ioarcb->cdb[4] = SCSI_SENSE_BUFFERSIZE;
2523 ioarcb->ioadl_bus_addr = cpu_to_le64((cmd->ioa_cb_bus_addr) +
2526 ioarcb->ioadl_length = cpu_to_le32(sizeof(struct pmcraid_ioadl_desc));
2528 ioarcb->data_transfer_length = cpu_to_le32(SCSI_SENSE_BUFFERSIZE);
2554 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
2559 memset(ioarcb->cdb, 0, PMCRAID_MAX_CDB_LEN);
2560 ioarcb->request_flags0 = SYNC_OVERRIDE;
2561 ioarcb->request_type = REQ_TYPE_IOACMD;
2562 ioarcb->cdb[0] = PMCRAID_CANCEL_ALL_REQUESTS;
2565 ioarcb->cdb[1] = PMCRAID_SYNC_COMPLETE_AFTER_CANCEL;
2567 ioarcb->ioadl_bus_addr = 0;
2568 ioarcb->ioadl_length = 0;
2569 ioarcb->data_transfer_length = 0;
2570 ioarcb->ioarcb_bus_addr &= (~0x1FULL);
2785 struct pmcraid_ioarcb *ioarcb;
2825 ioarcb = &cmd->ioa_cb->ioarcb;
2826 ioarcb->resource_handle = res->cfg_entry.resource_handle;
2827 ioarcb->request_type = REQ_TYPE_IOACMD;
2828 ioarcb->cdb[0] = PMCRAID_RESET_DEVICE;
2834 ioarcb->cdb[1] = modifier;
2840 cmd->ioa_cb->ioarcb.cdb[0],
2841 le32_to_cpu(cmd->ioa_cb->ioarcb.resource_handle),
2842 le32_to_cpu(cmd->ioa_cb->ioarcb.response_handle) >> 2);
2892 le32_to_cpu(cmd->ioa_cb->ioarcb.response_handle) >> 2,
2893 cmd->ioa_cb->ioarcb.cdb[0],
2955 cmd->ioa_cb->ioarcb.cdb[0],
2956 cmd->ioa_cb->ioarcb.response_handle >> 2);
2962 le32_to_cpu(cancel_cmd->ioa_cb->ioarcb.response_handle) >> 2,
2963 cancel_cmd->ioa_cb->ioarcb.cdb[0],
2964 le32_to_cpu(cancel_cmd->ioa_cb->ioarcb.resource_handle));
3207 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
3210 if (ioarcb->add_cmd_param_length)
3211 ioadl_count = DIV_ROUND_UP(ioarcb->add_cmd_param_length, 16);
3212 ioarcb->ioadl_length =
3215 if ((sgcount + ioadl_count) > (ARRAY_SIZE(ioarcb->add_data.u.ioadl))) {
3221 ioarcb->ioarcb_bus_addr &= ~(0x1FULL);
3222 ioarcb->ioadl_bus_addr =
3226 ioadl = &ioarcb->add_data.u.ioadl[3];
3228 ioarcb->ioadl_bus_addr =
3233 ioadl = &ioarcb->add_data.u.ioadl[ioadl_count];
3234 ioarcb->ioarcb_bus_addr |=
3247 * to firmware. This builds ioadl descriptors and sets up ioarcb fields.
3261 struct pmcraid_ioarcb *ioarcb = &(cmd->ioa_cb->ioarcb);
3262 struct pmcraid_ioadl_desc *ioadl = ioarcb->add_data.u.ioadl;
3283 ioarcb->request_flags0 |= TRANSFER_DIR_WRITE;
3285 ioarcb->request_flags0 |= NO_LINK_DESCS;
3286 ioarcb->data_transfer_length = cpu_to_le32(length);
3481 struct pmcraid_ioarcb *ioarcb;
3525 ioarcb = &(cmd->ioa_cb->ioarcb);
3526 memcpy(ioarcb->cdb, scsi_cmd->cmnd, scsi_cmd->cmd_len);
3527 ioarcb->resource_handle = res->cfg_entry.resource_handle;
3528 ioarcb->request_type = REQ_TYPE_SCSI;
3535 ioarcb->hrrq_id = atomic_add_return(1, &(pinstance->last_message_id)) %
3541 ioarcb->request_flags0 |= INHIBIT_UL_CHECK;
3544 ioarcb->request_flags0 |= SYNC_COMPLETE;
3548 ioarcb->request_flags0 |= NO_LINK_DESCS;
3549 ioarcb->request_flags1 |= pmcraid_task_attributes(scsi_cmd);
3552 ioarcb->request_flags1 |= DELAY_AFTER_RESET;
3558 le32_to_cpu(ioarcb->response_handle) >> 2,
3649 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
3672 ioarcb->request_flags0 |= NO_LINK_DESCS;
3736 struct pmcraid_ioarcb *ioarcb;
3789 request_size = buffer->ioarcb.data_transfer_length;
3791 if (buffer->ioarcb.request_flags0 & TRANSFER_DIR_WRITE) {
3809 if (buffer->ioarcb.add_cmd_param_length > PMCRAID_ADD_CMD_PARAM_LEN) {
3823 ioarcb = &(cmd->ioa_cb->ioarcb);
3826 ioarcb->resource_handle = buffer->ioarcb.resource_handle;
3827 ioarcb->data_transfer_length = buffer->ioarcb.data_transfer_length;
3828 ioarcb->cmd_timeout = buffer->ioarcb.cmd_timeout;
3829 ioarcb->request_type = buffer->ioarcb.request_type;
3830 ioarcb->request_flags0 = buffer->ioarcb.request_flags0;
3831 ioarcb->request_flags1 = buffer->ioarcb.request_flags1;
3832 memcpy(ioarcb->cdb, buffer->ioarcb.cdb, PMCRAID_MAX_CDB_LEN);
3834 if (buffer->ioarcb.add_cmd_param_length) {
3835 ioarcb->add_cmd_param_length =
3836 buffer->ioarcb.add_cmd_param_length;
3837 ioarcb->add_cmd_param_offset =
3838 buffer->ioarcb.add_cmd_param_offset;
3839 memcpy(ioarcb->add_data.u.add_cmd_params,
3840 buffer->ioarcb.add_data.u.add_cmd_params,
3841 buffer->ioarcb.add_cmd_param_length);
3849 ioarcb->hrrq_id = atomic_add_return(1, &(pinstance->last_message_id)) %
3884 le32_to_cpu(cmd->ioa_cb->ioarcb.response_handle) >> 2,
3885 cmd->ioa_cb->ioarcb.cdb[0],
3886 le32_to_cpu(cmd->ioa_cb->ioarcb.resource_handle));
3896 * ioarcb
3898 buffer->ioarcb.cmd_timeout = 0;
3904 if (buffer->ioarcb.cmd_timeout == 0) {
3908 msecs_to_jiffies(buffer->ioarcb.cmd_timeout * 1000))) {
3911 le32_to_cpu(cmd->ioa_cb->ioarcb.response_handle >> 2),
3912 cmd->ioa_cb->ioarcb.cdb[0]);
5580 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
5585 ioarcb->resource_handle = cpu_to_le32(PMCRAID_IOA_RES_HANDLE);
5586 ioarcb->request_type = REQ_TYPE_IOACMD;
5587 ioarcb->cdb[0] = PMCRAID_SET_SUPPORTED_DEVICES;
5588 ioarcb->cdb[1] = ALL_DEVICES_SUPPORTED;
5737 struct pmcraid_ioarcb *ioarcb = &cmd->ioa_cb->ioarcb;
5738 struct pmcraid_ioadl_desc *ioadl = ioarcb->add_data.u.ioadl;
5750 ioarcb->request_type = REQ_TYPE_IOACMD;
5751 ioarcb->resource_handle = cpu_to_le32(PMCRAID_IOA_RES_HANDLE);
5753 ioarcb->cdb[0] = PMCRAID_QUERY_IOA_CONFIG;
5756 memcpy(&(ioarcb->cdb[10]), &cfg_table_size, sizeof(cfg_table_size));
5761 ioarcb->ioadl_bus_addr = cpu_to_le64((cmd->ioa_cb_bus_addr) +
5764 ioarcb->ioadl_length = cpu_to_le32(sizeof(struct pmcraid_ioadl_desc));
5765 ioarcb->ioarcb_bus_addr &= ~(0x1FULL);
5767 ioarcb->request_flags0 |= NO_LINK_DESCS;
5768 ioarcb->data_transfer_length =
5771 ioadl = &(ioarcb->add_data.u.ioadl[0]);