Bjorn Helgaas created a patch for making PCI_SCAN_ALL_PCIE_DEVS work for
Root Ports as well as Downstream. Previously PCI_SCAN_ALL_PCIE_DEVS (set
by quirks or the "pci=pcie_scan_all"
kernel parameter) only affected Switch Downstream Ports, not Root Ports.
The problem is, that we have to add always the boot argument
"pci=pcie_scan_all" for using Bjorn's improvements. Without the boot
argument "pci=pcie_scan_all", the kernel doesn't boot on P.A. Semi
boards with SB600 chipset (SB600 chipset is connected via PCIe x4 to the
P.A. Semi’s PA6T-1682M System-on-a-Chip) because the kernel can't find
any drives connected to the SB600 anymore. Olof Johansson has created a
patch for executing "pci=pcie_scan_all" automatically on P.A. Semi
boards. With his patch, we don't need to add 'pci=pcie_scan_all' to the
kernel boot arguments anymore.
---
arch/powerpc/platforms/pasemi/pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/platforms/pasemi/pci.c
b/arch/powerpc/platforms/pasemi/pci.c
index 5ff6108..ea54ed2 100644
--- a/arch/powerpc/platforms/pasemi/pci.c
+++ b/arch/powerpc/platforms/pasemi/pci.c
@@ -224,6 +224,8 @@ void __init pas_pci_init(void)
return;
}
+ pci_set_flags(PCI_SCAN_ALL_PCIE_DEVS);
+
for (np = NULL; (np = of_get_next_child(root, np)) != NULL;)
if (np->name && !strcmp(np->name, "pxp") && !pas_add_bridge(np))
of_node_get(np);
--