Lines Matching refs:pcs

443 	struct isp_pcisoftc *pcs = device_get_softc(dev);  in isp_pci_attach()  local
444 ispsoftc_t *isp = &pcs->pci_isp; in isp_pci_attach()
461 pcs->regs = pcs->regs2 = NULL; in isp_pci_attach()
462 pcs->rgd = pcs->rtp = 0; in isp_pci_attach()
504 pcs->rtp = SYS_RES_MEMORY; in isp_pci_attach()
505 pcs->rgd = PCIR_BAR(0); in isp_pci_attach()
506 pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, in isp_pci_attach()
508 pcs->rtp1 = SYS_RES_MEMORY; in isp_pci_attach()
509 pcs->rgd1 = PCIR_BAR(2); in isp_pci_attach()
510 pcs->regs1 = bus_alloc_resource_any(dev, pcs->rtp1, &pcs->rgd1, in isp_pci_attach()
512 pcs->rtp2 = SYS_RES_MEMORY; in isp_pci_attach()
513 pcs->rgd2 = PCIR_BAR(4); in isp_pci_attach()
514 pcs->regs2 = bus_alloc_resource_any(dev, pcs->rtp2, &pcs->rgd2, in isp_pci_attach()
517 pcs->rtp = SYS_RES_MEMORY; in isp_pci_attach()
518 pcs->rgd = PCIR_BAR(1); in isp_pci_attach()
519 pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, in isp_pci_attach()
521 if (pcs->regs == NULL) { in isp_pci_attach()
522 pcs->rtp = SYS_RES_IOPORT; in isp_pci_attach()
523 pcs->rgd = PCIR_BAR(0); in isp_pci_attach()
524 pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, in isp_pci_attach()
525 &pcs->rgd, RF_ACTIVE); in isp_pci_attach()
528 if (pcs->regs == NULL) { in isp_pci_attach()
534 (pcs->rtp == SYS_RES_IOPORT)? "I/O" : "Memory"); in isp_pci_attach()
536 isp->isp_regs = pcs->regs; in isp_pci_attach()
537 isp->isp_regs2 = pcs->regs2; in isp_pci_attach()
637 (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); in isp_pci_attach()
638 (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, in isp_pci_attach()
639 pcs->irq[0].irq); in isp_pci_attach()
641 if (pcs->msicount) { in isp_pci_attach()
644 if (pcs->regs) in isp_pci_attach()
645 (void) bus_release_resource(dev, pcs->rtp, pcs->rgd, pcs->regs); in isp_pci_attach()
646 if (pcs->regs1) in isp_pci_attach()
647 (void) bus_release_resource(dev, pcs->rtp1, pcs->rgd1, pcs->regs1); in isp_pci_attach()
648 if (pcs->regs2) in isp_pci_attach()
649 (void) bus_release_resource(dev, pcs->rtp2, pcs->rgd2, pcs->regs2); in isp_pci_attach()
650 if (pcs->pci_isp.isp_param) { in isp_pci_attach()
651 free(pcs->pci_isp.isp_param, M_DEVBUF); in isp_pci_attach()
652 pcs->pci_isp.isp_param = NULL; in isp_pci_attach()
654 if (pcs->pci_isp.isp_osinfo.fc) { in isp_pci_attach()
655 free(pcs->pci_isp.isp_osinfo.fc, M_DEVBUF); in isp_pci_attach()
656 pcs->pci_isp.isp_osinfo.fc = NULL; in isp_pci_attach()
665 struct isp_pcisoftc *pcs = device_get_softc(dev); in isp_pci_detach() local
666 ispsoftc_t *isp = &pcs->pci_isp; in isp_pci_detach()
676 (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); in isp_pci_detach()
677 (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, in isp_pci_detach()
678 pcs->irq[i].irq); in isp_pci_detach()
680 if (pcs->msicount) in isp_pci_detach()
682 (void) bus_release_resource(dev, pcs->rtp, pcs->rgd, pcs->regs); in isp_pci_detach()
683 if (pcs->regs1) in isp_pci_detach()
684 (void) bus_release_resource(dev, pcs->rtp1, pcs->rgd1, pcs->regs1); in isp_pci_detach()
685 if (pcs->regs2) in isp_pci_detach()
686 (void) bus_release_resource(dev, pcs->rtp2, pcs->rgd2, pcs->regs2); in isp_pci_detach()
688 if (pcs->pci_isp.isp_param) { in isp_pci_detach()
689 free(pcs->pci_isp.isp_param, M_DEVBUF); in isp_pci_detach()
690 pcs->pci_isp.isp_param = NULL; in isp_pci_detach()
692 if (pcs->pci_isp.isp_osinfo.fc) { in isp_pci_detach()
693 free(pcs->pci_isp.isp_osinfo.fc, M_DEVBUF); in isp_pci_detach()
694 pcs->pci_isp.isp_osinfo.fc = NULL; in isp_pci_detach()
1237 struct isp_pcisoftc *pcs = device_get_softc(dev); in isp_pci_irqsetup() local
1251 pcs->msicount = imin(pci_msix_count(dev), max_irq); in isp_pci_irqsetup()
1252 if (pcs->msicount > 0 && in isp_pci_irqsetup()
1253 pci_alloc_msix(dev, &pcs->msicount) != 0) in isp_pci_irqsetup()
1254 pcs->msicount = 0; in isp_pci_irqsetup()
1256 if (pcs->msicount == 0) { in isp_pci_irqsetup()
1261 pcs->msicount = imin(pci_msi_count(dev), max_irq); in isp_pci_irqsetup()
1262 if (pcs->msicount > 0 && in isp_pci_irqsetup()
1263 pci_alloc_msi(dev, &pcs->msicount) != 0) in isp_pci_irqsetup()
1264 pcs->msicount = 0; in isp_pci_irqsetup()
1266 for (i = 0; i < MAX(1, pcs->msicount); i++) { in isp_pci_irqsetup()
1267 pcs->irq[i].iqd = i + (pcs->msicount > 0); in isp_pci_irqsetup()
1268 pcs->irq[i].irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, in isp_pci_irqsetup()
1269 &pcs->irq[i].iqd, RF_ACTIVE | RF_SHAREABLE); in isp_pci_irqsetup()
1270 if (pcs->irq[i].irq == NULL) { in isp_pci_irqsetup()
1280 if (bus_setup_intr(dev, pcs->irq[i].irq, ISP_IFLAGS, NULL, in isp_pci_irqsetup()
1281 f, isp, &pcs->irq[i].ih)) { in isp_pci_irqsetup()
1284 pcs->irq[i].iqd, pcs->irq[i].irq); in isp_pci_irqsetup()
1287 if (pcs->msicount > 1) { in isp_pci_irqsetup()
1288 bus_describe_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih, in isp_pci_irqsetup()