Call pcie_bus_configure_settings on ARM, like for other platforms.
pcie_bus_configure_settings makes sure the MPS across the bus is
uniform and provides the ability to tune the MRSS and MPS to higher
performance values. This is particularly important for embedded where
there is no firmware to program these PCI-E settings for the OS.

Signed-off-by: Murali Karicheri <[email protected]>

CC: Russell King <[email protected]>
CC: Bjorn Helgaas <[email protected]>
CC: Arnd Bergmann <[email protected]>
CC: Jason Gunthorpe <[email protected]>
CC: Santosh Shilimkar <[email protected]>
---
 - Fixed comments against initial version
 arch/arm/kernel/bios32.c |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index 16d43cd..17a26c1 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -545,6 +545,18 @@ void pci_common_init_dev(struct device *parent, struct 
hw_pci *hw)
                 */
                pci_bus_add_devices(bus);
        }
+
+       list_for_each_entry(sys, &head, node) {
+               struct pci_bus *bus = sys->bus;
+
+               /* Configure PCI Express settings */
+               if (bus && !pci_has_flag(PCI_PROBE_ONLY)) {
+                       struct pci_bus *child;
+
+                       list_for_each_entry(child, &bus->children, node)
+                               pcie_bus_configure_settings(child);
+               }
+       }
 }
 
 #ifndef CONFIG_PCI_HOST_ITE8152
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to