aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-09-19 13:44:50 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-09-20 01:53:24 -0400
commit781fb7a3e4cdca28236ae23e2c77070ed3ae531f (patch)
tree04997ffc3e98b34b5566ec9b0244fd394e6bce10 /arch
parentfb82b83970a32263698e54a8779d2ce88cd3b060 (diff)
powerpc/pci: Call pcie_bus_configure_settings()
This new function is used to properly setup the PCI Express Max Payload Size (and in some circumstances Max Read Request Size). Some systems will not operate properly if these aren't set correctly and the firmware doesn't always do it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/pci-common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index 32656f105250..1bd47f36b25f 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -1730,6 +1730,17 @@ void __devinit pcibios_scan_phb(struct pci_controller *hose)
1730 1730
1731 if (mode == PCI_PROBE_NORMAL) 1731 if (mode == PCI_PROBE_NORMAL)
1732 hose->last_busno = bus->subordinate = pci_scan_child_bus(bus); 1732 hose->last_busno = bus->subordinate = pci_scan_child_bus(bus);
1733
1734 /* Configure PCI Express settings */
1735 if (bus) {
1736 struct pci_bus *child;
1737 list_for_each_entry(child, &bus->children, node) {
1738 struct pci_dev *self = child->self;
1739 if (!self)
1740 continue;
1741 pcie_bus_configure_settings(child, self->pcie_mpss);
1742 }
1743 }
1733} 1744}
1734 1745
1735static void fixup_hide_host_resource_fsl(struct pci_dev *dev) 1746static void fixup_hide_host_resource_fsl(struct pci_dev *dev)