• Home
  • Raw
  • Download

Lines Matching refs:ioc

196 	MPT_ADAPTER 		*ioc;  in mptfc_block_error_handler()  local
200 ioc = hd->ioc; in mptfc_block_error_handler()
203 || (loops > 0 && ioc->active == 0)) { in mptfc_block_error_handler()
205 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_block_error_handler()
208 ioc->name, ioc->sh->host_no, in mptfc_block_error_handler()
210 ready, ioc->active, caller)); in mptfc_block_error_handler()
218 || ioc->active == 0) { in mptfc_block_error_handler()
219 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_block_error_handler()
222 ioc->name, ioc->sh->host_no, in mptfc_block_error_handler()
224 ioc->active, SCpnt->device->hostdata)); in mptfc_block_error_handler()
227 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_block_error_handler()
229 ioc->name, ioc->sh->host_no, in mptfc_block_error_handler()
283 mptfc_GetFcDevPage0(MPT_ADAPTER *ioc, int ioc_port, in mptfc_GetFcDevPage0() argument
284 void(*func)(MPT_ADAPTER *ioc,int channel, FCDevicePage0_t *arg)) in mptfc_GetFcDevPage0() argument
299 int max_bus = ioc->facts.MaxBuses; in mptfc_GetFcDevPage0()
302 max_targ = (ioc->facts.MaxDevices == 0) ? 256 : ioc->facts.MaxDevices; in mptfc_GetFcDevPage0()
327 if ((rc = mpt_config(ioc, &cfg)) != 0) in mptfc_GetFcDevPage0()
334 ppage0_alloc = dma_alloc_coherent(&ioc->pcidev->dev, data_sz, in mptfc_GetFcDevPage0()
343 if ((rc = mpt_config(ioc, &cfg)) == 0) { in mptfc_GetFcDevPage0()
370 dma_free_coherent(&ioc->pcidev->dev, data_sz, in mptfc_GetFcDevPage0()
385 func(ioc, ioc_port, fc); in mptfc_GetFcDevPage0()
422 mptfc_register_dev(MPT_ADAPTER *ioc, int channel, FCDevicePage0_t *pg0) in mptfc_register_dev() argument
440 list_for_each_entry(ri, &ioc->fc_rports, list) { in mptfc_register_dev()
443 list_move_tail(&ri->list, &ioc->fc_rports); in mptfc_register_dev()
452 list_add_tail(&ri->list, &ioc->fc_rports); in mptfc_register_dev()
461 rport = fc_remote_port_add(ioc->sh, channel, &rport_ids); in mptfc_register_dev()
485 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_register_dev()
488 ioc->name, in mptfc_register_dev()
489 ioc->sh->host_no, in mptfc_register_dev()
568 mptfc_dump_lun_info(MPT_ADAPTER *ioc, struct fc_rport *rport, struct scsi_device *sdev, in mptfc_dump_lun_info() argument
577 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_dump_lun_info()
580 ioc->name, in mptfc_dump_lun_info()
604 MPT_ADAPTER *ioc; in mptfc_slave_alloc() local
613 ioc = hd->ioc; in mptfc_slave_alloc()
618 ioc->name, sizeof(VirtDevice)); in mptfc_slave_alloc()
627 vtarget->ioc_id = ioc->id; in mptfc_slave_alloc()
637 mptfc_dump_lun_info(ioc, rport, sdev, vtarget); in mptfc_slave_alloc()
682 mptfc_display_port_link_speed(MPT_ADAPTER *ioc, int portnum, FCPortPage0_t *pp0dest) in mptfc_display_port_link_speed() argument
690 old_speed = ioc->fc_link_speed[portnum]; in mptfc_display_port_link_speed()
708 ioc->name, new); in mptfc_display_port_link_speed()
712 ioc->name, old, new); in mptfc_display_port_link_speed()
714 ioc->fc_link_speed[portnum] = new_speed; in mptfc_display_port_link_speed()
731 mptfc_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum) in mptfc_GetFcPortPage0() argument
758 if ((rc = mpt_config(ioc, &cfg)) != 0) in mptfc_GetFcPortPage0()
766 ppage0_alloc = dma_alloc_coherent(&ioc->pcidev->dev, data_sz, in mptfc_GetFcPortPage0()
775 if ((rc = mpt_config(ioc, &cfg)) == 0) { in mptfc_GetFcPortPage0()
777 pp0dest = &ioc->fc_port_page0[portnum]; in mptfc_GetFcPortPage0()
816 ioc->name); in mptfc_GetFcPortPage0()
818 mptfc_display_port_link_speed(ioc, portnum, pp0dest); in mptfc_GetFcPortPage0()
821 dma_free_coherent(&ioc->pcidev->dev, data_sz, ppage0_alloc, in mptfc_GetFcPortPage0()
829 mptfc_WriteFcPortPage1(MPT_ADAPTER *ioc, int portnum) in mptfc_WriteFcPortPage1() argument
838 if (!(ioc->fc_data.fc_port_page1[portnum].data)) in mptfc_WriteFcPortPage1()
853 if ((rc = mpt_config(ioc, &cfg)) != 0) in mptfc_WriteFcPortPage1()
859 if (hdr.PageLength*4 != ioc->fc_data.fc_port_page1[portnum].pg_sz) in mptfc_WriteFcPortPage1()
862 cfg.physAddr = ioc->fc_data.fc_port_page1[portnum].dma; in mptfc_WriteFcPortPage1()
866 rc = mpt_config(ioc, &cfg); in mptfc_WriteFcPortPage1()
872 mptfc_GetFcPortPage1(MPT_ADAPTER *ioc, int portnum) in mptfc_GetFcPortPage1() argument
896 if ((rc = mpt_config(ioc, &cfg)) != 0) in mptfc_GetFcPortPage1()
904 if (ioc->fc_data.fc_port_page1[portnum].data == NULL) { in mptfc_GetFcPortPage1()
909 page1_alloc = dma_alloc_coherent(&ioc->pcidev->dev, data_sz, in mptfc_GetFcPortPage1()
915 page1_alloc = ioc->fc_data.fc_port_page1[portnum].data; in mptfc_GetFcPortPage1()
916 page1_dma = ioc->fc_data.fc_port_page1[portnum].dma; in mptfc_GetFcPortPage1()
917 data_sz = ioc->fc_data.fc_port_page1[portnum].pg_sz; in mptfc_GetFcPortPage1()
919 ioc->fc_data.fc_port_page1[portnum].data = NULL; in mptfc_GetFcPortPage1()
920 dma_free_coherent(&ioc->pcidev->dev, data_sz, in mptfc_GetFcPortPage1()
929 if ((rc = mpt_config(ioc, &cfg)) == 0) { in mptfc_GetFcPortPage1()
930 ioc->fc_data.fc_port_page1[portnum].data = page1_alloc; in mptfc_GetFcPortPage1()
931 ioc->fc_data.fc_port_page1[portnum].pg_sz = data_sz; in mptfc_GetFcPortPage1()
932 ioc->fc_data.fc_port_page1[portnum].dma = page1_dma; in mptfc_GetFcPortPage1()
935 ioc->fc_data.fc_port_page1[portnum].data = NULL; in mptfc_GetFcPortPage1()
936 dma_free_coherent(&ioc->pcidev->dev, data_sz, page1_alloc, in mptfc_GetFcPortPage1()
944 mptfc_SetFcPortPage1_defaults(MPT_ADAPTER *ioc) in mptfc_SetFcPortPage1_defaults() argument
954 for (ii=0; ii<ioc->facts.NumberOfPorts; ii++) { in mptfc_SetFcPortPage1_defaults()
955 if (mptfc_GetFcPortPage1(ioc, ii) != 0) in mptfc_SetFcPortPage1_defaults()
957 pp1 = ioc->fc_data.fc_port_page1[ii].data; in mptfc_SetFcPortPage1_defaults()
967 mptfc_WriteFcPortPage1(ioc, ii); in mptfc_SetFcPortPage1_defaults()
973 mptfc_init_host_attr(MPT_ADAPTER *ioc,int portnum) in mptfc_init_host_attr() argument
988 pp0 = &ioc->fc_port_page0[portnum]; in mptfc_init_host_attr()
989 sh = ioc->sh; in mptfc_init_host_attr()
993 ioc->prod_name, in mptfc_init_host_attr()
995 ioc->facts.FWVersion.Word); in mptfc_init_host_attr()
1069 MPT_ADAPTER *ioc = in mptfc_link_status_change() local
1073 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) in mptfc_link_status_change()
1074 (void) mptfc_GetFcPortPage0(ioc, ii); in mptfc_link_status_change()
1081 MPT_ADAPTER *ioc = in mptfc_setup_reset() local
1089 list_for_each_entry(ri, &ioc->fc_rports, list) { in mptfc_setup_reset()
1103 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_setup_reset()
1105 ioc->name, in mptfc_setup_reset()
1106 ioc->sh->host_no, in mptfc_setup_reset()
1115 MPT_ADAPTER *ioc = in mptfc_rescan_devices() local
1124 list_for_each_entry(ri, &ioc->fc_rports, list) { in mptfc_rescan_devices()
1134 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) { in mptfc_rescan_devices()
1135 (void) mptfc_GetFcPortPage0(ioc, ii); in mptfc_rescan_devices()
1136 mptfc_init_host_attr(ioc, ii); /* refresh */ in mptfc_rescan_devices()
1137 mptfc_GetFcDevPage0(ioc, ii, mptfc_register_dev); in mptfc_rescan_devices()
1141 list_for_each_entry(ri, &ioc->fc_rports, list) { in mptfc_rescan_devices()
1158 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_rescan_devices()
1160 ioc->name, in mptfc_rescan_devices()
1161 ioc->sh->host_no, in mptfc_rescan_devices()
1172 MPT_ADAPTER *ioc; in mptfc_probe() local
1184 ioc = pci_get_drvdata(pdev); in mptfc_probe()
1185 ioc->DoneCtx = mptfcDoneCtx; in mptfc_probe()
1186 ioc->TaskCtx = mptfcTaskCtx; in mptfc_probe()
1187 ioc->InternalCtx = mptfcInternalCtx; in mptfc_probe()
1191 if (ioc->last_state != MPI_IOC_STATE_OPERATIONAL) { in mptfc_probe()
1194 ioc->name); in mptfc_probe()
1199 if (!ioc->active) { in mptfc_probe()
1201 ioc->name); in mptfc_probe()
1209 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) { in mptfc_probe()
1210 if (ioc->pfacts[ii].ProtocolFlags & in mptfc_probe()
1218 ioc->name, ioc); in mptfc_probe()
1227 ioc->name); in mptfc_probe()
1232 spin_lock_init(&ioc->fc_rescan_work_lock); in mptfc_probe()
1233 INIT_WORK(&ioc->fc_rescan_work, mptfc_rescan_devices); in mptfc_probe()
1234 INIT_WORK(&ioc->fc_setup_reset_work, mptfc_setup_reset); in mptfc_probe()
1235 INIT_WORK(&ioc->fc_lsc_work, mptfc_link_status_change); in mptfc_probe()
1237 spin_lock_irqsave(&ioc->FreeQlock, flags); in mptfc_probe()
1241 ioc->sh = sh; in mptfc_probe()
1250 sh->max_id = ioc->pfacts->MaxDevices; in mptfc_probe()
1255 sh->unique_id = ioc->id; in mptfc_probe()
1266 scale = ioc->req_sz/ioc->SGE_size; in mptfc_probe()
1267 if (ioc->sg_addr_size == sizeof(u64)) { in mptfc_probe()
1269 (ioc->facts.MaxChainDepth-1) + scale + in mptfc_probe()
1270 (ioc->req_sz - 60) / ioc->SGE_size; in mptfc_probe()
1273 (ioc->facts.MaxChainDepth-1) + scale + in mptfc_probe()
1274 (ioc->req_sz - 64) / ioc->SGE_size; in mptfc_probe()
1279 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_probe()
1281 ioc->name, numSGE, sh->sg_tablesize)); in mptfc_probe()
1285 spin_unlock_irqrestore(&ioc->FreeQlock, flags); in mptfc_probe()
1288 hd->ioc = ioc; in mptfc_probe()
1293 ioc->ScsiLookup = kcalloc(ioc->req_depth, sizeof(void *), GFP_KERNEL); in mptfc_probe()
1294 if (!ioc->ScsiLookup) { in mptfc_probe()
1298 spin_lock_init(&ioc->scsi_lookup_lock); in mptfc_probe()
1300 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT "ScsiLookup @ %p\n", in mptfc_probe()
1301 ioc->name, ioc->ScsiLookup)); in mptfc_probe()
1306 error = scsi_add_host (sh, &ioc->pcidev->dev); in mptfc_probe()
1308 dprintk(ioc, printk(MYIOC_s_ERR_FMT in mptfc_probe()
1309 "scsi_add_host failed\n", ioc->name)); in mptfc_probe()
1315 snprintf(ioc->fc_rescan_work_q_name, sizeof(ioc->fc_rescan_work_q_name), in mptfc_probe()
1317 ioc->fc_rescan_work_q = in mptfc_probe()
1318 alloc_ordered_workqueue(ioc->fc_rescan_work_q_name, in mptfc_probe()
1320 if (!ioc->fc_rescan_work_q) { in mptfc_probe()
1329 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) { in mptfc_probe()
1330 (void) mptfc_GetFcPortPage0(ioc, ii); in mptfc_probe()
1332 mptfc_SetFcPortPage1_defaults(ioc); in mptfc_probe()
1339 queue_work(ioc->fc_rescan_work_q, &ioc->fc_rescan_work); in mptfc_probe()
1340 flush_workqueue(ioc->fc_rescan_work_q); in mptfc_probe()
1366 mptfc_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) in mptfc_event_process() argument
1373 if (ioc->bus_type != FC) in mptfc_event_process()
1376 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n", in mptfc_event_process()
1377 ioc->name, event)); in mptfc_event_process()
1379 if (ioc->sh == NULL || in mptfc_event_process()
1380 ((hd = shost_priv(ioc->sh)) == NULL)) in mptfc_event_process()
1385 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags); in mptfc_event_process()
1386 if (ioc->fc_rescan_work_q) { in mptfc_event_process()
1387 queue_work(ioc->fc_rescan_work_q, in mptfc_event_process()
1388 &ioc->fc_rescan_work); in mptfc_event_process()
1390 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags); in mptfc_event_process()
1393 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags); in mptfc_event_process()
1394 if (ioc->fc_rescan_work_q) { in mptfc_event_process()
1395 queue_work(ioc->fc_rescan_work_q, in mptfc_event_process()
1396 &ioc->fc_lsc_work); in mptfc_event_process()
1398 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags); in mptfc_event_process()
1401 rc = mptscsih_event_process(ioc,pEvReply); in mptfc_event_process()
1408 mptfc_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) in mptfc_ioc_reset() argument
1413 rc = mptscsih_ioc_reset(ioc,reset_phase); in mptfc_ioc_reset()
1414 if ((ioc->bus_type != FC) || (!rc)) in mptfc_ioc_reset()
1418 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT in mptfc_ioc_reset()
1419 ": IOC %s_reset routed to FC host driver!\n",ioc->name, in mptfc_ioc_reset()
1424 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags); in mptfc_ioc_reset()
1425 if (ioc->fc_rescan_work_q) { in mptfc_ioc_reset()
1426 queue_work(ioc->fc_rescan_work_q, in mptfc_ioc_reset()
1427 &ioc->fc_setup_reset_work); in mptfc_ioc_reset()
1429 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags); in mptfc_ioc_reset()
1436 mptfc_SetFcPortPage1_defaults(ioc); in mptfc_ioc_reset()
1437 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags); in mptfc_ioc_reset()
1438 if (ioc->fc_rescan_work_q) { in mptfc_ioc_reset()
1439 queue_work(ioc->fc_rescan_work_q, in mptfc_ioc_reset()
1440 &ioc->fc_rescan_work); in mptfc_ioc_reset()
1442 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags); in mptfc_ioc_reset()
1495 MPT_ADAPTER *ioc = pci_get_drvdata(pdev); in mptfc_remove() local
1502 if ((work_q=ioc->fc_rescan_work_q)) { in mptfc_remove()
1503 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags); in mptfc_remove()
1504 ioc->fc_rescan_work_q = NULL; in mptfc_remove()
1505 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags); in mptfc_remove()
1509 fc_remove_host(ioc->sh); in mptfc_remove()
1511 list_for_each_entry_safe(p, n, &ioc->fc_rports, list) { in mptfc_remove()
1516 for (ii=0; ii<ioc->facts.NumberOfPorts; ii++) { in mptfc_remove()
1517 if (ioc->fc_data.fc_port_page1[ii].data) { in mptfc_remove()
1518 dma_free_coherent(&ioc->pcidev->dev, in mptfc_remove()
1519 ioc->fc_data.fc_port_page1[ii].pg_sz, in mptfc_remove()
1520 ioc->fc_data.fc_port_page1[ii].data, in mptfc_remove()
1521 ioc->fc_data.fc_port_page1[ii].dma); in mptfc_remove()
1522 ioc->fc_data.fc_port_page1[ii].data = NULL; in mptfc_remove()
1526 scsi_remove_host(ioc->sh); in mptfc_remove()