msi: Put old MSI code under OLD_MSI
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 27 Dec 2011 05:41:31 +0000 (13:41 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Tue, 27 Dec 2011 05:44:43 +0000 (13:44 +0800)
sys/dev/disk/mps/mps_pci.c
sys/dev/disk/mpt/mpt_pci.c
sys/dev/netif/alc/if_alc.c
sys/dev/netif/e1000/if_igb.c
sys/dev/netif/iwn/if_iwn.c
sys/dev/netif/mxge/if_mxge.c
sys/dev/raid/tws/tws.c

index 3a93b81..3b4642d 100644 (file)
@@ -58,8 +58,10 @@ static int   mps_pci_detach(device_t);
 static int     mps_pci_suspend(device_t);
 static int     mps_pci_resume(device_t);
 static void    mps_pci_free(struct mps_softc *);
+#ifdef OLD_MSI
 static int     mps_alloc_msix(struct mps_softc *sc, int msgs);
 static int     mps_alloc_msi(struct mps_softc *sc, int msgs);
+#endif
 
 int mps_disable_msix = 0;
 TUNABLE_INT("hw.mps.disable_msix", &mps_disable_msix);
@@ -229,16 +231,21 @@ int
 mps_pci_setup_interrupts(struct mps_softc *sc)
 {
        device_t dev;
-       int i, error, msgs;
+       int i, error;
+#ifdef OLD_MSI
+       int msgs;
+#endif
 
        dev = sc->mps_dev;
        error = ENXIO;
+#ifdef OLD_MSI
        if ((mps_disable_msix == 0) &&
            ((msgs = pci_msix_count(dev)) >= MPS_MSI_COUNT))
                error = mps_alloc_msix(sc, MPS_MSI_COUNT);
        if ((error != 0) && (mps_disable_msi == 0) &&
            ((msgs = pci_msi_count(dev)) >= MPS_MSI_COUNT))
                error = mps_alloc_msi(sc, MPS_MSI_COUNT);
+#endif
 
        if (error != 0) {
                sc->mps_flags |= MPS_FLAGS_INTX;
@@ -342,6 +349,7 @@ mps_pci_resume(device_t dev)
        return (EINVAL);
 }
 
+#ifdef OLD_MSI
 static int
 mps_alloc_msix(struct mps_softc *sc, int msgs)
 {
@@ -359,3 +367,4 @@ mps_alloc_msi(struct mps_softc *sc, int msgs)
        error = pci_alloc_msi(sc->mps_dev, &msgs);
        return (error);
 }
+#endif
index ce63330..b6d60c4 100644 (file)
@@ -506,6 +506,7 @@ mpt_pci_attach(device_t dev)
 
        /* Get a handle to the interrupt */
        iqd = 0;
+#ifdef OLD_MSI
        if (mpt->msi_enable) {
                /*
                 * First try to alloc an MSI-X message.  If that
@@ -528,6 +529,7 @@ mpt_pci_attach(device_t dev)
                        }
                }
        }
+#endif
        mpt->pci_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &iqd,
            RF_ACTIVE | RF_SHAREABLE);
        if (mpt->pci_irq == NULL) {
index 2867de6..5db577e 100644 (file)
@@ -224,6 +224,7 @@ static struct resource_spec alc_irq_spec_legacy[] = {
        { -1,                   0,              0 }
 };
 
+#ifdef OLD_MSI
 static struct resource_spec alc_irq_spec_msi[] = {
        { SYS_RES_IRQ,          1,              RF_ACTIVE },
        { -1,                   0,              0 }
@@ -233,6 +234,7 @@ static struct resource_spec alc_irq_spec_msix[] = {
        { SYS_RES_IRQ,          1,              RF_ACTIVE },
        { -1,                   0,              0 }
 };
+#endif
 
 static uint32_t alc_dma_burst[] = { 128, 256, 512, 1024, 2048, 4096, 0 };
 
@@ -926,7 +928,7 @@ alc_attach(device_t dev)
                device_printf(dev, "MSI count : %d\n", msic);
        }
 
-#if 0
+#ifdef OLD_MSI
        /* Prefer MSIX over MSI. */
        if (msix_disable == 0 || msi_disable == 0) {
                if (msix_disable == 0 && msixc == ALC_MSIX_MESSAGES &&
index d22cc92..d271ec8 100644 (file)
@@ -2438,7 +2438,7 @@ mem:
 static int
 igb_setup_msix(struct adapter *adapter)
 {
-#if 0
+#ifdef OLD_MSI
        device_t dev = adapter->dev;
        int rid, want, queues, msgs;
 
index a4ec95a..877eb1c 100644 (file)
@@ -406,7 +406,10 @@ iwn_pci_attach(device_t dev)
        struct ifnet *ifp;
        const struct iwn_hal *hal;
        uint32_t tmp;
-       int i, error, result;
+       int i, error;
+#ifdef OLD_MSI
+       int result;
+#endif
        uint8_t macaddr[IEEE80211_ADDR_LEN];
 
        wlan_serialize_enter();
@@ -476,7 +479,7 @@ iwn_pci_attach(device_t dev)
        sc->sc_st = rman_get_bustag(sc->mem);
        sc->sc_sh = rman_get_bushandle(sc->mem);
        sc->irq_rid = 0;
-#if 0
+#ifdef OLD_MSI
        if ((result = pci_msi_count(dev)) == 1 &&
            pci_alloc_msi(dev, &result) == 0)
                sc->irq_rid = 1;
index 3f74432..f7c0fdd 100644 (file)
@@ -4393,13 +4393,19 @@ mxge_add_single_irq(mxge_softc_t *sc)
 {
        int count, err, rid;
 
+#ifdef OLD_MSI
        count = pci_msi_count(sc->dev);
-       if (/* count == 1 && pci_alloc_msi(sc->dev, &count) == 0 */0) {
+       if (count == 1 && pci_alloc_msi(sc->dev, &count) == 0) {
                rid = 1;
        } else {
                rid = 0;
                sc->legacy_irq = 1;
        }
+#else
+       count = 0;
+       rid = 0;
+       sc->legacy_irq = 1;
+#endif
        sc->irq_res = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &rid, 0, ~0,
                                         1, RF_SHAREABLE | RF_ACTIVE);
        if (sc->irq_res == NULL) {
index 3cd1f52..4d396f2 100644 (file)
@@ -475,6 +475,7 @@ tws_setup_irq(struct tws_softc *sc)
             device_printf(sc->tws_dev, "Using legacy INTx\n");
             break;
         case TWS_MSI :
+#ifdef OLD_MSI
             cmd = cmd | 0x0400;
             pci_write_config(sc->tws_dev, PCIR_COMMAND, cmd, 2);
             sc->irqs = 1;
@@ -492,6 +493,10 @@ tws_setup_irq(struct tws_softc *sc)
             if ( tws_setup_intr(sc, sc->irqs) == FAILURE )
                 return(FAILURE);
             device_printf(sc->tws_dev, "Using MSI\n");
+#else
+           messages = 0;
+           panic("%s: Using MSI", device_get_nameunit(sc->tws_dev));
+#endif
             break;
 
     }