Lines Matching defs:ioc

196 	MPT_ADAPTER 		*ioc;
200 ioc = hd->ioc;
203 || (loops > 0 && ioc->active == 0)) {
205 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
208 ioc->name, ioc->sh->host_no,
210 ready, ioc->active, caller));
218 || ioc->active == 0) {
219 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
222 ioc->name, ioc->sh->host_no,
224 ioc->active, SCpnt->device->hostdata));
227 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
229 ioc->name, ioc->sh->host_no,
283 mptfc_GetFcDevPage0(MPT_ADAPTER *ioc, int ioc_port,
284 void(*func)(MPT_ADAPTER *ioc,int channel, FCDevicePage0_t *arg))
299 int max_bus = ioc->facts.MaxBuses;
302 max_targ = (ioc->facts.MaxDevices == 0) ? 256 : ioc->facts.MaxDevices;
327 if ((rc = mpt_config(ioc, &cfg)) != 0)
334 ppage0_alloc = pci_alloc_consistent(ioc->pcidev, data_sz,
343 if ((rc = mpt_config(ioc, &cfg)) == 0) {
370 pci_free_consistent(ioc->pcidev, data_sz,
385 func(ioc, ioc_port, fc);
422 mptfc_register_dev(MPT_ADAPTER *ioc, int channel, FCDevicePage0_t *pg0)
440 list_for_each_entry(ri, &ioc->fc_rports, list) {
443 list_move_tail(&ri->list, &ioc->fc_rports);
452 list_add_tail(&ri->list, &ioc->fc_rports);
461 rport = fc_remote_port_add(ioc->sh, channel, &rport_ids);
485 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
488 ioc->name,
489 ioc->sh->host_no,
562 * @ioc
568 mptfc_dump_lun_info(MPT_ADAPTER *ioc, struct fc_rport *rport, struct scsi_device *sdev,
577 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
580 ioc->name,
604 MPT_ADAPTER *ioc;
613 ioc = hd->ioc;
618 ioc->name, sizeof(VirtDevice));
627 vtarget->ioc_id = ioc->id;
637 mptfc_dump_lun_info(ioc, rport, sdev, vtarget);
676 * @ioc: Pointer to MPT_ADAPTER structure
682 mptfc_display_port_link_speed(MPT_ADAPTER *ioc, int portnum, FCPortPage0_t *pp0dest)
690 old_speed = ioc->fc_link_speed[portnum];
708 ioc->name, new);
712 ioc->name, old, new);
714 ioc->fc_link_speed[portnum] = new_speed;
720 * @ioc: Pointer to MPT_ADAPTER structure
731 mptfc_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum)
758 if ((rc = mpt_config(ioc, &cfg)) != 0)
766 ppage0_alloc = pci_alloc_consistent(ioc->pcidev, data_sz, &page0_dma);
774 if ((rc = mpt_config(ioc, &cfg)) == 0) {
776 pp0dest = &ioc->fc_port_page0[portnum];
815 ioc->name);
817 mptfc_display_port_link_speed(ioc, portnum, pp0dest);
820 pci_free_consistent(ioc->pcidev, data_sz, (u8 *) ppage0_alloc, page0_dma);
827 mptfc_WriteFcPortPage1(MPT_ADAPTER *ioc, int portnum)
836 if (!(ioc->fc_data.fc_port_page1[portnum].data))
851 if ((rc = mpt_config(ioc, &cfg)) != 0)
857 if (hdr.PageLength*4 != ioc->fc_data.fc_port_page1[portnum].pg_sz)
860 cfg.physAddr = ioc->fc_data.fc_port_page1[portnum].dma;
864 rc = mpt_config(ioc, &cfg);
870 mptfc_GetFcPortPage1(MPT_ADAPTER *ioc, int portnum)
894 if ((rc = mpt_config(ioc, &cfg)) != 0)
902 if (ioc->fc_data.fc_port_page1[portnum].data == NULL) {
907 page1_alloc = pci_alloc_consistent(ioc->pcidev,
914 page1_alloc = ioc->fc_data.fc_port_page1[portnum].data;
915 page1_dma = ioc->fc_data.fc_port_page1[portnum].dma;
916 data_sz = ioc->fc_data.fc_port_page1[portnum].pg_sz;
918 ioc->fc_data.fc_port_page1[portnum].data = NULL;
919 pci_free_consistent(ioc->pcidev, data_sz, (u8 *)
928 if ((rc = mpt_config(ioc, &cfg)) == 0) {
929 ioc->fc_data.fc_port_page1[portnum].data = page1_alloc;
930 ioc->fc_data.fc_port_page1[portnum].pg_sz = data_sz;
931 ioc->fc_data.fc_port_page1[portnum].dma = page1_dma;
934 ioc->fc_data.fc_port_page1[portnum].data = NULL;
935 pci_free_consistent(ioc->pcidev, data_sz, (u8 *)
943 mptfc_SetFcPortPage1_defaults(MPT_ADAPTER *ioc)
953 for (ii=0; ii<ioc->facts.NumberOfPorts; ii++) {
954 if (mptfc_GetFcPortPage1(ioc, ii) != 0)
956 pp1 = ioc->fc_data.fc_port_page1[ii].data;
966 mptfc_WriteFcPortPage1(ioc, ii);
972 mptfc_init_host_attr(MPT_ADAPTER *ioc,int portnum)
987 pp0 = &ioc->fc_port_page0[portnum];
988 sh = ioc->sh;
992 ioc->prod_name,
994 ioc->facts.FWVersion.Word);
1068 MPT_ADAPTER *ioc =
1072 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++)
1073 (void) mptfc_GetFcPortPage0(ioc, ii);
1080 MPT_ADAPTER *ioc =
1088 list_for_each_entry(ri, &ioc->fc_rports, list) {
1102 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
1104 ioc->name,
1105 ioc->sh->host_no,
1114 MPT_ADAPTER *ioc =
1123 list_for_each_entry(ri, &ioc->fc_rports, list) {
1133 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) {
1134 (void) mptfc_GetFcPortPage0(ioc, ii);
1135 mptfc_init_host_attr(ioc, ii); /* refresh */
1136 mptfc_GetFcDevPage0(ioc, ii, mptfc_register_dev);
1140 list_for_each_entry(ri, &ioc->fc_rports, list) {
1157 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
1159 ioc->name,
1160 ioc->sh->host_no,
1171 MPT_ADAPTER *ioc;
1183 ioc = pci_get_drvdata(pdev);
1184 ioc->DoneCtx = mptfcDoneCtx;
1185 ioc->TaskCtx = mptfcTaskCtx;
1186 ioc->InternalCtx = mptfcInternalCtx;
1190 if (ioc->last_state != MPI_IOC_STATE_OPERATIONAL) {
1193 ioc->name);
1198 if (!ioc->active) {
1200 ioc->name);
1208 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) {
1209 if (ioc->pfacts[ii].ProtocolFlags &
1216 "Skipping ioc=%p because SCSI Initiator mode is NOT enabled!\n",
1217 ioc->name, ioc);
1226 ioc->name);
1231 spin_lock_init(&ioc->fc_rescan_work_lock);
1232 INIT_WORK(&ioc->fc_rescan_work, mptfc_rescan_devices);
1233 INIT_WORK(&ioc->fc_setup_reset_work, mptfc_setup_reset);
1234 INIT_WORK(&ioc->fc_lsc_work, mptfc_link_status_change);
1236 spin_lock_irqsave(&ioc->FreeQlock, flags);
1240 ioc->sh = sh;
1249 sh->max_id = ioc->pfacts->MaxDevices;
1254 sh->unique_id = ioc->id;
1265 scale = ioc->req_sz/ioc->SGE_size;
1266 if (ioc->sg_addr_size == sizeof(u64)) {
1268 (ioc->facts.MaxChainDepth-1) + scale +
1269 (ioc->req_sz - 60) / ioc->SGE_size;
1272 (ioc->facts.MaxChainDepth-1) + scale +
1273 (ioc->req_sz - 64) / ioc->SGE_size;
1278 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT
1280 ioc->name, numSGE, sh->sg_tablesize));
1284 spin_unlock_irqrestore(&ioc->FreeQlock, flags);
1287 hd->ioc = ioc;
1292 ioc->ScsiLookup = kcalloc(ioc->req_depth, sizeof(void *), GFP_KERNEL);
1293 if (!ioc->ScsiLookup) {
1297 spin_lock_init(&ioc->scsi_lookup_lock);
1299 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT "ScsiLookup @ %p\n",
1300 ioc->name, ioc->ScsiLookup));
1305 error = scsi_add_host (sh, &ioc->pcidev->dev);
1307 dprintk(ioc, printk(MYIOC_s_ERR_FMT
1308 "scsi_add_host failed\n", ioc->name));
1314 snprintf(ioc->fc_rescan_work_q_name, sizeof(ioc->fc_rescan_work_q_name),
1316 ioc->fc_rescan_work_q =
1317 alloc_ordered_workqueue(ioc->fc_rescan_work_q_name,
1319 if (!ioc->fc_rescan_work_q) {
1328 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) {
1329 (void) mptfc_GetFcPortPage0(ioc, ii);
1331 mptfc_SetFcPortPage1_defaults(ioc);
1338 queue_work(ioc->fc_rescan_work_q, &ioc->fc_rescan_work);
1339 flush_workqueue(ioc->fc_rescan_work_q);
1365 mptfc_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply)
1372 if (ioc->bus_type != FC)
1375 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n",
1376 ioc->name, event));
1378 if (ioc->sh == NULL ||
1379 ((hd = shost_priv(ioc->sh)) == NULL))
1384 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1385 if (ioc->fc_rescan_work_q) {
1386 queue_work(ioc->fc_rescan_work_q,
1387 &ioc->fc_rescan_work);
1389 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1392 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1393 if (ioc->fc_rescan_work_q) {
1394 queue_work(ioc->fc_rescan_work_q,
1395 &ioc->fc_lsc_work);
1397 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1400 rc = mptscsih_event_process(ioc,pEvReply);
1407 mptfc_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
1412 rc = mptscsih_ioc_reset(ioc,reset_phase);
1413 if ((ioc->bus_type != FC) || (!rc))
1417 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT
1418 ": IOC %s_reset routed to FC host driver!\n",ioc->name,
1423 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1424 if (ioc->fc_rescan_work_q) {
1425 queue_work(ioc->fc_rescan_work_q,
1426 &ioc->fc_setup_reset_work);
1428 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1435 mptfc_SetFcPortPage1_defaults(ioc);
1436 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1437 if (ioc->fc_rescan_work_q) {
1438 queue_work(ioc->fc_rescan_work_q,
1439 &ioc->fc_rescan_work);
1441 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1494 MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
1501 if ((work_q=ioc->fc_rescan_work_q)) {
1502 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1503 ioc->fc_rescan_work_q = NULL;
1504 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1508 fc_remove_host(ioc->sh);
1510 list_for_each_entry_safe(p, n, &ioc->fc_rports, list) {
1515 for (ii=0; ii<ioc->facts.NumberOfPorts; ii++) {
1516 if (ioc->fc_data.fc_port_page1[ii].data) {
1517 pci_free_consistent(ioc->pcidev,
1518 ioc->fc_data.fc_port_page1[ii].pg_sz,
1519 (u8 *) ioc->fc_data.fc_port_page1[ii].data,
1520 ioc->fc_data.fc_port_page1[ii].dma);
1521 ioc->fc_data.fc_port_page1[ii].data = NULL;
1525 scsi_remove_host(ioc->sh);