Lines Matching full:pcs
471 struct isp_pcisoftc *pcs = device_get_softc(dev); in isp_pci_attach() local
472 ispsoftc_t *isp = &pcs->pci_isp; in isp_pci_attach()
488 pcs->regs = pcs->regs2 = NULL; in isp_pci_attach()
489 pcs->rgd = pcs->rtp = 0; in isp_pci_attach()
537 pcs->rtp = SYS_RES_MEMORY; in isp_pci_attach()
538 pcs->rgd = PCIR_BAR(0); in isp_pci_attach()
539 pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, in isp_pci_attach()
541 pcs->rtp1 = SYS_RES_MEMORY; in isp_pci_attach()
542 pcs->rgd1 = PCIR_BAR(2); in isp_pci_attach()
543 pcs->regs1 = bus_alloc_resource_any(dev, pcs->rtp1, &pcs->rgd1, in isp_pci_attach()
545 pcs->rtp2 = SYS_RES_MEMORY; in isp_pci_attach()
546 pcs->rgd2 = PCIR_BAR(4); in isp_pci_attach()
547 pcs->regs2 = bus_alloc_resource_any(dev, pcs->rtp2, &pcs->rgd2, in isp_pci_attach()
550 pcs->rtp = SYS_RES_MEMORY; in isp_pci_attach()
551 pcs->rgd = PCIR_BAR(1); in isp_pci_attach()
552 pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, &pcs->rgd, in isp_pci_attach()
554 if (pcs->regs == NULL) { in isp_pci_attach()
555 pcs->rtp = SYS_RES_IOPORT; in isp_pci_attach()
556 pcs->rgd = PCIR_BAR(0); in isp_pci_attach()
557 pcs->regs = bus_alloc_resource_any(dev, pcs->rtp, in isp_pci_attach()
558 &pcs->rgd, RF_ACTIVE); in isp_pci_attach()
561 if (pcs->regs == NULL) { in isp_pci_attach()
567 (pcs->rtp == SYS_RES_IOPORT)? "I/O" : "Memory"); in isp_pci_attach()
569 isp->isp_regs = pcs->regs; in isp_pci_attach()
570 isp->isp_regs2 = pcs->regs2; in isp_pci_attach()
651 (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); in isp_pci_attach()
652 (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, in isp_pci_attach()
653 pcs->irq[0].irq); in isp_pci_attach()
655 if (pcs->msicount) { in isp_pci_attach()
658 if (pcs->regs) in isp_pci_attach()
659 (void) bus_release_resource(dev, pcs->rtp, pcs->rgd, pcs->regs); in isp_pci_attach()
660 if (pcs->regs1) in isp_pci_attach()
661 (void) bus_release_resource(dev, pcs->rtp1, pcs->rgd1, pcs->regs1); in isp_pci_attach()
662 if (pcs->regs2) in isp_pci_attach()
663 (void) bus_release_resource(dev, pcs->rtp2, pcs->rgd2, pcs->regs2); in isp_pci_attach()
664 if (pcs->pci_isp.isp_param) { in isp_pci_attach()
665 free(pcs->pci_isp.isp_param, M_DEVBUF); in isp_pci_attach()
666 pcs->pci_isp.isp_param = NULL; in isp_pci_attach()
668 if (pcs->pci_isp.isp_osinfo.fc) { in isp_pci_attach()
669 free(pcs->pci_isp.isp_osinfo.fc, M_DEVBUF); in isp_pci_attach()
670 pcs->pci_isp.isp_osinfo.fc = NULL; in isp_pci_attach()
679 struct isp_pcisoftc *pcs = device_get_softc(dev); in isp_pci_detach() local
680 ispsoftc_t *isp = &pcs->pci_isp; in isp_pci_detach()
690 (void) bus_teardown_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih); in isp_pci_detach()
691 (void) bus_release_resource(dev, SYS_RES_IRQ, pcs->irq[i].iqd, in isp_pci_detach()
692 pcs->irq[i].irq); in isp_pci_detach()
694 if (pcs->msicount) in isp_pci_detach()
696 (void) bus_release_resource(dev, pcs->rtp, pcs->rgd, pcs->regs); in isp_pci_detach()
697 if (pcs->regs1) in isp_pci_detach()
698 (void) bus_release_resource(dev, pcs->rtp1, pcs->rgd1, pcs->regs1); in isp_pci_detach()
699 if (pcs->regs2) in isp_pci_detach()
700 (void) bus_release_resource(dev, pcs->rtp2, pcs->rgd2, pcs->regs2); in isp_pci_detach()
702 if (pcs->pci_isp.isp_param) { in isp_pci_detach()
703 free(pcs->pci_isp.isp_param, M_DEVBUF); in isp_pci_detach()
704 pcs->pci_isp.isp_param = NULL; in isp_pci_detach()
706 if (pcs->pci_isp.isp_osinfo.fc) { in isp_pci_detach()
707 free(pcs->pci_isp.isp_osinfo.fc, M_DEVBUF); in isp_pci_detach()
708 pcs->pci_isp.isp_osinfo.fc = NULL; in isp_pci_detach()
1251 struct isp_pcisoftc *pcs = device_get_softc(dev); in isp_pci_irqsetup() local
1265 pcs->msicount = imin(pci_msix_count(dev), max_irq); in isp_pci_irqsetup()
1266 if (pcs->msicount > 0 && in isp_pci_irqsetup()
1267 pci_alloc_msix(dev, &pcs->msicount) != 0) in isp_pci_irqsetup()
1268 pcs->msicount = 0; in isp_pci_irqsetup()
1270 if (pcs->msicount == 0) { in isp_pci_irqsetup()
1275 pcs->msicount = imin(pci_msi_count(dev), max_irq); in isp_pci_irqsetup()
1276 if (pcs->msicount > 0 && in isp_pci_irqsetup()
1277 pci_alloc_msi(dev, &pcs->msicount) != 0) in isp_pci_irqsetup()
1278 pcs->msicount = 0; in isp_pci_irqsetup()
1280 for (i = 0; i < MAX(1, pcs->msicount); i++) { in isp_pci_irqsetup()
1281 pcs->irq[i].iqd = i + (pcs->msicount > 0); in isp_pci_irqsetup()
1282 pcs->irq[i].irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, in isp_pci_irqsetup()
1283 &pcs->irq[i].iqd, RF_ACTIVE | RF_SHAREABLE); in isp_pci_irqsetup()
1284 if (pcs->irq[i].irq == NULL) { in isp_pci_irqsetup()
1294 if (bus_setup_intr(dev, pcs->irq[i].irq, ISP_IFLAGS, NULL, in isp_pci_irqsetup()
1295 f, isp, &pcs->irq[i].ih)) { in isp_pci_irqsetup()
1298 pcs->irq[i].iqd, pcs->irq[i].irq); in isp_pci_irqsetup()
1301 if (pcs->msicount > 1) { in isp_pci_irqsetup()
1302 bus_describe_intr(dev, pcs->irq[i].irq, pcs->irq[i].ih, in isp_pci_irqsetup()