Author: jhibbits
Date: Fri Aug 21 02:22:51 2015
New Revision: 286976
URL: https://svnweb.freebsd.org/changeset/base/286976

Log:
  Simplify the PCI bus scanning logic.
  
  Rather than special casing on PCIC_BRIDGE || PCIC_PROCESSOR, allow all
  HDRTYPE_BRIDGE types.
  
  Obtained from:        Semihalf
  Sponsored by: Alex Perez/Intertial Computing

Modified:
  head/sys/powerpc/mpc85xx/pci_mpc85xx.c

Modified: head/sys/powerpc/mpc85xx/pci_mpc85xx.c
==============================================================================
--- head/sys/powerpc/mpc85xx/pci_mpc85xx.c      Thu Aug 20 22:44:26 2015        
(r286975)
+++ head/sys/powerpc/mpc85xx/pci_mpc85xx.c      Fri Aug 21 02:22:51 2015        
(r286976)
@@ -265,7 +265,7 @@ fsl_pcib_attach(device_t dev)
         */
        sc->sc_busnr = 0;
        maxslot = (sc->sc_pcie) ? 0 : PCI_SLOTMAX;
-       fsl_pcib_init(sc, sc->sc_busnr, maxslot);
+       sc->sc_busnr = fsl_pcib_init(sc, sc->sc_busnr, maxslot);
 
        if (sc->sc_pcie) {
                ltssm = fsl_pcib_cfgread(sc, 0, 0, 0, PCIR_LTSSM, 1);
@@ -570,19 +570,8 @@ fsl_pcib_init(struct fsl_pcib_softc *sc,
                        subclass = fsl_pcib_read_config(sc->sc_dev, bus, slot,
                            func, PCIR_SUBCLASS, 1);
 
-                       /*
-                        * The PCI Root Complex comes up as a Processor/PowerPC,
-                        * but is a bridge.
-                        */
-                       /* Allow only proper PCI-PCI briges */
-                       if (class != PCIC_BRIDGE && class != PCIC_PROCESSOR)
-                               continue;
-                       if (subclass != PCIS_BRIDGE_PCI &&
-                           subclass != PCIS_PROCESSOR_POWERPC)
-                               continue;
-
-                       if (subclass == PCIS_PROCESSOR_POWERPC &&
-                           hdrtype != PCIM_HDRTYPE_BRIDGE)
+                       /* Allow all DEVTYPE 1 devices */
+                       if (hdrtype != PCIM_HDRTYPE_BRIDGE)
                                continue;
 
                        secbus++;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to