[U-Boot-Users] [PATCH] Start pci hose scan from current busno

Ed Swarthout Ed.Swarthout at freescale.com
Tue Mar 6 08:02:34 CET 2007


Start the pci hose scan from hose->current_busno instead of
first_busno.  This allows the PCIe controllers to be scanned
downstream from bridge.

Ensure hose->current_busno is equal or greater than first_busno.  This
fixes broken board code which leave current_busno=0 when first_busno
is greater than 0 for the cases with multiple controllers.

Signed-off-by: Ed Swarthout <Ed.Swarthout at freescale.com>

---

This change will simplify the pending common PCI and PCIe code for the
fsl 85xx and 86xx soc boards.

 drivers/pci.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/drivers/pci.c b/drivers/pci.c
index 050582f..4158919 100644
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -490,10 +490,16 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus)
 
 int pci_hose_scan(struct pci_controller *hose)
 {
+	/* Start scan at current_busno.
+	 * PCIe will start scan at first_busno+1.
+	 */
+	/* For legacy support, ensure current>=first */
+	if (hose->first_busno > hose->current_busno)
+		hose->current_busno = hose->first_busno;
 #ifdef CONFIG_PCI_PNP
 	pciauto_config_init(hose);
 #endif
-	return pci_hose_scan_bus(hose, hose->first_busno);
+	return pci_hose_scan_bus(hose, hose->current_busno);
 }
 
 void pci_init(void)
-- 
1.5.0.2.279.g4808





More information about the U-Boot mailing list