[U-Boot-Users] [PATCH] pci: Add CONIFG_PCI_SKIP_HOST_BRIDGE config

In current source code, when the device number of PCI is 0, process PCI bridge without fail. However, when the device number is 0, it is not PCI always bridge. There are times when device of PCI allocates.
When CONIFG_PCI_SKIP_HOST_BRIDGE is enable, this problem is solved when use this patch.
Signed-off-by: Nobuhiro Iwamatsu iwamatsu@nigauri.org --- drivers/pci/pci.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 50ca6b0..3027fc7 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -425,6 +425,9 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) dev < PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1); dev += PCI_BDF(0,0,1)) { + + /* Bus 0 is not necessarily PCI bridge. */ +#if defined(CONIFG_PCI_SKIP_HOST_BRIDGE) /* Skip our host bridge */ if ( dev == PCI_BDF(hose->first_busno,0,0) ) { #if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE) /* don't skip host bridge */ @@ -434,9 +437,10 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) if (getenv("pciconfighost") == NULL) { continue; /* Skip our host bridge */ } -#else +#else /* CONFIG_PCI_CONFIG_HOST_BRIDGE */ continue; /* Skip our host bridge */ -#endif +#endif /* CONFIG_PCI_CONFIG_HOST_BRIDGE */ +#endif /* CONIFG_PCI_SKIP_HOST_BRIDGE */ }
if (PCI_FUNC(dev) && !found_multi) @@ -473,8 +477,11 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) hose->fixup_irq(hose, dev);
#ifdef CONFIG_PCI_SCAN_SHOW +#if defined(CONIFG_PCI_SKIP_HOST_BRIDGE) /* Skip our host bridge */ - if ( dev != PCI_BDF(hose->first_busno,0,0) ) { + if ( dev != PCI_BDF(hose->first_busno,0,0) ) +#endif + { unsigned char int_line;
pci_hose_read_config_byte(hose, dev, PCI_INTERRUPT_LINE,

On Thu, 24 Jan 2008 10:23:52 +0900 Nobuhiro Iwamatsu iwamatsu@nigauri.org wrote:
In current source code, when the device number of PCI is 0, process PCI bridge without fail. However, when the device number is 0, it is not PCI always bridge. There are times when device of PCI allocates.
When CONIFG_PCI_SKIP_HOST_BRIDGE is enable, this problem is solved when use this patch.
Signed-off-by: Nobuhiro Iwamatsu iwamatsu@nigauri.org
drivers/pci/pci.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 50ca6b0..3027fc7 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -425,6 +425,9 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) dev < PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1); dev += PCI_BDF(0,0,1)) {
- /* Bus 0 is not necessarily PCI bridge. */
+#if defined(CONIFG_PCI_SKIP_HOST_BRIDGE) /* Skip our host bridge */ if ( dev == PCI_BDF(hose->first_busno,0,0) ) { #if defined(CONFIG_PCI_CONFIG_HOST_BRIDGE) /* don't skip host bridge */ @@ -434,9 +437,10 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) if (getenv("pciconfighost") == NULL) { continue; /* Skip our host bridge */ } -#else +#else /* CONFIG_PCI_CONFIG_HOST_BRIDGE */ continue; /* Skip our host bridge */ -#endif +#endif /* CONFIG_PCI_CONFIG_HOST_BRIDGE */ +#endif /* CONIFG_PCI_SKIP_HOST_BRIDGE */ }
if (PCI_FUNC(dev) && !found_multi)
@@ -473,8 +477,11 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) hose->fixup_irq(hose, dev);
#ifdef CONFIG_PCI_SCAN_SHOW +#if defined(CONIFG_PCI_SKIP_HOST_BRIDGE) /* Skip our host bridge */
if ( dev != PCI_BDF(hose->first_busno,0,0) ) {
if ( dev != PCI_BDF(hose->first_busno,0,0) )
+#endif
{
without verifying the logic of this patch, I can immediately see an s/CONIFG/CONFIG/g'd version coming...:)
Kim

Hi, Kim.
On Thu, 24 Jan 2008 11:12:54 -0600 Kim Phillips kim.phillips@freescale.com wrote:
On Thu, 24 Jan 2008 10:23:52 +0900 Nobuhiro Iwamatsu iwamatsu@nigauri.org wrote:
In current source code, when the device number of PCI is 0, process PCI bridge without fail. However, when the device number is 0, it is not PCI always bridge. There are times when device of PCI allocates.
When CONIFG_PCI_SKIP_HOST_BRIDGE is enable, this problem is solved when use this patch.
Signed-off-by: Nobuhiro Iwamatsu iwamatsu@nigauri.org
without verifying the logic of this patch, I can immediately see an s/CONIFG/CONFIG/g'd version coming...:)
Oh, Thank you for your check. I resend patch.
Thanks, Nobuhoro
participants (2)
-
Kim Phillips
-
Nobuhiro Iwamatsu