Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Aug 2015 02:22:52 +0000 (UTC)
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r286976 - head/sys/powerpc/mpc85xx
Message-ID:  <201508210222.t7L2MqRb092050@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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++;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201508210222.t7L2MqRb092050>