[PATCH 1/1] PCI set flag PCI_SCAN_ALL_PCIE_DEVS for P.A. Semi boards
From: Christian Zigotzky <hidden>
Date: 2018-03-16 12:55:48
Also in:
linux-pci
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); --