PowerNV doesn't depend on PCIe topology info from DT anymore, and now
it is able to enumerate the fabric and assign the bus numbers.
This is enabled by the pci=realloc command line switch.
Signed-off-by: Sergey Miroshnichenko <redacted>
---
arch/powerpc/kernel/pci_dn.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index 8bcf10fb13ad..863d00561c50 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -592,3 +592,15 @@ static void pci_dev_pdn_setup(struct pci_dev *pdev)
pdev->dev.archdata.pci_data = pdn;
}
DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, pci_dev_pdn_setup);
+
+char * __init pcibios_setup(char *str)
+{
+ if (!strncmp(str, "realloc=", 8)) {
+ if (!strncmp(str + 8, "on", 2))
+ pci_add_flags(PCI_REASSIGN_ALL_BUS);
+ } else if (!strncmp(str, "realloc", 7)) {
+ pci_add_flags(PCI_REASSIGN_ALL_BUS);
+ }
+
+ return str;
+}--
2.17.1