Skip to content

Commit

Permalink
ARM/PCI: Call pcie_bus_configure_settings() to set MPS
Browse files Browse the repository at this point in the history
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 PCIe settings for the OS.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Russell King <linux@arm.linux.org.uk>
CC: Arnd Bergmann <arnd@arndb.de>
CC: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
CC: Santosh Shilimkar <santosh.shilimkar@ti.com>
  • Loading branch information
Murali Karicheri authored and Bjorn Helgaas committed May 30, 2014
1 parent c893d13 commit 8b5742a
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions arch/arm/kernel/bios32.c
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 8b5742a

Please sign in to comment.