• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/message/fusion/

Lines Matching defs:ioc

198 	MPT_ADAPTER 		*ioc;
202 ioc = hd->ioc;
205 || (loops > 0 && ioc->active == 0)) {
207 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
210 ioc->name, ioc->sh->host_no,
212 ready, ioc->active, caller));
220 || ioc->active == 0) {
221 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
224 ioc->name, ioc->sh->host_no,
226 ioc->active, SCpnt->device->hostdata));
229 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
231 ioc->name, ioc->sh->host_no,
292 mptfc_GetFcDevPage0(MPT_ADAPTER *ioc, int ioc_port,
293 void(*func)(MPT_ADAPTER *ioc,int channel, FCDevicePage0_t *arg))
308 int max_bus = ioc->facts.MaxBuses;
311 max_targ = (ioc->facts.MaxDevices == 0) ? 256 : ioc->facts.MaxDevices;
336 if ((rc = mpt_config(ioc, &cfg)) != 0)
343 ppage0_alloc = pci_alloc_consistent(ioc->pcidev, data_sz,
352 if ((rc = mpt_config(ioc, &cfg)) == 0) {
379 pci_free_consistent(ioc->pcidev, data_sz,
394 func(ioc, ioc_port, fc);
431 mptfc_register_dev(MPT_ADAPTER *ioc, int channel, FCDevicePage0_t *pg0)
449 list_for_each_entry(ri, &ioc->fc_rports, list) {
452 list_move_tail(&ri->list, &ioc->fc_rports);
461 list_add_tail(&ri->list, &ioc->fc_rports);
470 rport = fc_remote_port_add(ioc->sh, channel, &rport_ids);
494 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
497 ioc->name,
498 ioc->sh->host_no,
572 * @ioc
578 mptfc_dump_lun_info(MPT_ADAPTER *ioc, struct fc_rport *rport, struct scsi_device *sdev,
587 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
590 ioc->name,
614 MPT_ADAPTER *ioc;
623 ioc = hd->ioc;
628 ioc->name, sizeof(VirtDevice));
637 vtarget->ioc_id = ioc->id;
647 mptfc_dump_lun_info(ioc, rport, sdev, vtarget);
686 * @ioc: Pointer to MPT_ADAPTER structure
692 mptfc_display_port_link_speed(MPT_ADAPTER *ioc, int portnum, FCPortPage0_t *pp0dest)
700 old_speed = ioc->fc_link_speed[portnum];
718 ioc->name, new);
722 ioc->name, old, new);
724 ioc->fc_link_speed[portnum] = new_speed;
730 * @ioc: Pointer to MPT_ADAPTER structure
741 mptfc_GetFcPortPage0(MPT_ADAPTER *ioc, int portnum)
768 if ((rc = mpt_config(ioc, &cfg)) != 0)
776 ppage0_alloc = (FCPortPage0_t *) pci_alloc_consistent(ioc->pcidev, data_sz, &page0_dma);
784 if ((rc = mpt_config(ioc, &cfg)) == 0) {
786 pp0dest = &ioc->fc_port_page0[portnum];
825 ioc->name);
827 mptfc_display_port_link_speed(ioc, portnum, pp0dest);
830 pci_free_consistent(ioc->pcidev, data_sz, (u8 *) ppage0_alloc, page0_dma);
837 mptfc_WriteFcPortPage1(MPT_ADAPTER *ioc, int portnum)
846 if (!(ioc->fc_data.fc_port_page1[portnum].data))
861 if ((rc = mpt_config(ioc, &cfg)) != 0)
867 if (hdr.PageLength*4 != ioc->fc_data.fc_port_page1[portnum].pg_sz)
870 cfg.physAddr = ioc->fc_data.fc_port_page1[portnum].dma;
874 rc = mpt_config(ioc, &cfg);
880 mptfc_GetFcPortPage1(MPT_ADAPTER *ioc, int portnum)
904 if ((rc = mpt_config(ioc, &cfg)) != 0)
912 if (ioc->fc_data.fc_port_page1[portnum].data == NULL) {
917 page1_alloc = (FCPortPage1_t *) pci_alloc_consistent(ioc->pcidev,
924 page1_alloc = ioc->fc_data.fc_port_page1[portnum].data;
925 page1_dma = ioc->fc_data.fc_port_page1[portnum].dma;
926 data_sz = ioc->fc_data.fc_port_page1[portnum].pg_sz;
928 ioc->fc_data.fc_port_page1[portnum].data = NULL;
929 pci_free_consistent(ioc->pcidev, data_sz, (u8 *)
940 if ((rc = mpt_config(ioc, &cfg)) == 0) {
941 ioc->fc_data.fc_port_page1[portnum].data = page1_alloc;
942 ioc->fc_data.fc_port_page1[portnum].pg_sz = data_sz;
943 ioc->fc_data.fc_port_page1[portnum].dma = page1_dma;
946 ioc->fc_data.fc_port_page1[portnum].data = NULL;
947 pci_free_consistent(ioc->pcidev, data_sz, (u8 *)
955 mptfc_SetFcPortPage1_defaults(MPT_ADAPTER *ioc)
965 for (ii=0; ii<ioc->facts.NumberOfPorts; ii++) {
966 if (mptfc_GetFcPortPage1(ioc, ii) != 0)
968 pp1 = ioc->fc_data.fc_port_page1[ii].data;
978 mptfc_WriteFcPortPage1(ioc, ii);
984 mptfc_init_host_attr(MPT_ADAPTER *ioc,int portnum)
999 pp0 = &ioc->fc_port_page0[portnum];
1000 sh = ioc->sh;
1004 ioc->prod_name,
1006 ioc->facts.FWVersion.Word);
1080 MPT_ADAPTER *ioc =
1084 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++)
1085 (void) mptfc_GetFcPortPage0(ioc, ii);
1092 MPT_ADAPTER *ioc =
1100 list_for_each_entry(ri, &ioc->fc_rports, list) {
1114 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
1116 ioc->name,
1117 ioc->sh->host_no,
1126 MPT_ADAPTER *ioc =
1135 list_for_each_entry(ri, &ioc->fc_rports, list) {
1145 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) {
1146 (void) mptfc_GetFcPortPage0(ioc, ii);
1147 mptfc_init_host_attr(ioc, ii); /* refresh */
1148 mptfc_GetFcDevPage0(ioc, ii, mptfc_register_dev);
1152 list_for_each_entry(ri, &ioc->fc_rports, list) {
1169 dfcprintk (ioc, printk(MYIOC_s_DEBUG_FMT
1171 ioc->name,
1172 ioc->sh->host_no,
1183 MPT_ADAPTER *ioc;
1195 ioc = pci_get_drvdata(pdev);
1196 ioc->DoneCtx = mptfcDoneCtx;
1197 ioc->TaskCtx = mptfcTaskCtx;
1198 ioc->InternalCtx = mptfcInternalCtx;
1202 if (ioc->last_state != MPI_IOC_STATE_OPERATIONAL) {
1205 ioc->name);
1210 if (!ioc->active) {
1212 ioc->name);
1220 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) {
1221 if (ioc->pfacts[ii].ProtocolFlags &
1228 "Skipping ioc=%p because SCSI Initiator mode is NOT enabled!\n",
1229 ioc->name, ioc);
1238 ioc->name);
1243 spin_lock_init(&ioc->fc_rescan_work_lock);
1244 INIT_WORK(&ioc->fc_rescan_work, mptfc_rescan_devices);
1245 INIT_WORK(&ioc->fc_setup_reset_work, mptfc_setup_reset);
1246 INIT_WORK(&ioc->fc_lsc_work, mptfc_link_status_change);
1248 spin_lock_irqsave(&ioc->FreeQlock, flags);
1252 ioc->sh = sh;
1261 sh->max_id = ioc->pfacts->MaxDevices;
1266 sh->unique_id = ioc->id;
1277 scale = ioc->req_sz/ioc->SGE_size;
1278 if (ioc->sg_addr_size == sizeof(u64)) {
1280 (ioc->facts.MaxChainDepth-1) + scale +
1281 (ioc->req_sz - 60) / ioc->SGE_size;
1284 (ioc->facts.MaxChainDepth-1) + scale +
1285 (ioc->req_sz - 64) / ioc->SGE_size;
1290 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT
1292 ioc->name, numSGE, sh->sg_tablesize));
1296 spin_unlock_irqrestore(&ioc->FreeQlock, flags);
1299 hd->ioc = ioc;
1304 ioc->ScsiLookup = kcalloc(ioc->req_depth, sizeof(void *), GFP_ATOMIC);
1305 if (!ioc->ScsiLookup) {
1309 spin_lock_init(&ioc->scsi_lookup_lock);
1311 dprintk(ioc, printk(MYIOC_s_DEBUG_FMT "ScsiLookup @ %p\n",
1312 ioc->name, ioc->ScsiLookup));
1317 error = scsi_add_host (sh, &ioc->pcidev->dev);
1319 dprintk(ioc, printk(MYIOC_s_ERR_FMT
1320 "scsi_add_host failed\n", ioc->name));
1326 snprintf(ioc->fc_rescan_work_q_name, sizeof(ioc->fc_rescan_work_q_name),
1328 ioc->fc_rescan_work_q =
1329 create_singlethread_workqueue(ioc->fc_rescan_work_q_name);
1330 if (!ioc->fc_rescan_work_q)
1337 for (ii=0; ii < ioc->facts.NumberOfPorts; ii++) {
1338 (void) mptfc_GetFcPortPage0(ioc, ii);
1340 mptfc_SetFcPortPage1_defaults(ioc);
1347 queue_work(ioc->fc_rescan_work_q, &ioc->fc_rescan_work);
1348 flush_workqueue(ioc->fc_rescan_work_q);
1371 mptfc_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply)
1378 if (ioc->bus_type != FC)
1381 devtverboseprintk(ioc, printk(MYIOC_s_DEBUG_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n",
1382 ioc->name, event));
1384 if (ioc->sh == NULL ||
1385 ((hd = shost_priv(ioc->sh)) == NULL))
1390 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1391 if (ioc->fc_rescan_work_q) {
1392 queue_work(ioc->fc_rescan_work_q,
1393 &ioc->fc_rescan_work);
1395 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1398 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1399 if (ioc->fc_rescan_work_q) {
1400 queue_work(ioc->fc_rescan_work_q,
1401 &ioc->fc_lsc_work);
1403 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1406 rc = mptscsih_event_process(ioc,pEvReply);
1413 mptfc_ioc_reset(MPT_ADAPTER *ioc, int reset_phase)
1418 rc = mptscsih_ioc_reset(ioc,reset_phase);
1419 if ((ioc->bus_type != FC) || (!rc))
1423 dtmprintk(ioc, printk(MYIOC_s_DEBUG_FMT
1424 ": IOC %s_reset routed to FC host driver!\n",ioc->name,
1429 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1430 if (ioc->fc_rescan_work_q) {
1431 queue_work(ioc->fc_rescan_work_q,
1432 &ioc->fc_setup_reset_work);
1434 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1441 mptfc_SetFcPortPage1_defaults(ioc);
1442 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1443 if (ioc->fc_rescan_work_q) {
1444 queue_work(ioc->fc_rescan_work_q,
1445 &ioc->fc_rescan_work);
1447 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1501 MPT_ADAPTER *ioc = pci_get_drvdata(pdev);
1508 if ((work_q=ioc->fc_rescan_work_q)) {
1509 spin_lock_irqsave(&ioc->fc_rescan_work_lock, flags);
1510 ioc->fc_rescan_work_q = NULL;
1511 spin_unlock_irqrestore(&ioc->fc_rescan_work_lock, flags);
1515 fc_remove_host(ioc->sh);
1517 list_for_each_entry_safe(p, n, &ioc->fc_rports, list) {
1522 for (ii=0; ii<ioc->facts.NumberOfPorts; ii++) {
1523 if (ioc->fc_data.fc_port_page1[ii].data) {
1524 pci_free_consistent(ioc->pcidev,
1525 ioc->fc_data.fc_port_page1[ii].pg_sz,
1526 (u8 *) ioc->fc_data.fc_port_page1[ii].data,
1527 ioc->fc_data.fc_port_page1[ii].dma);
1528 ioc->fc_data.fc_port_page1[ii].data = NULL;