From b96fd565f8085509ee08ee2dab7c994bd0fa42c2 Mon Sep 17 00:00:00 2001 From: Tony Truong Date: Mon, 8 Feb 2021 17:27:58 -0800 Subject: [PATCH] msm: pcie: add support to update MPS for all child PCI devices Update Max Payload size (MPS) for all child PCI devices of RC. Child PCI devices will have their MPS scaled to at most RC MPS. Configuring all child PCI devices with the largest MPS possible will help improve overall PCIe link bandwidth performance. Change-Id: I871b49a5ec07d020a445a59f622ceec6061dfc26 Signed-off-by: Tony Truong --- drivers/pci/controller/pci-msm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/pci-msm.c b/drivers/pci/controller/pci-msm.c index 18dd212e44e1..b983b734da7d 100644 --- a/drivers/pci/controller/pci-msm.c +++ b/drivers/pci/controller/pci-msm.c @@ -4848,7 +4848,7 @@ int msm_pcie_enumerate(u32 rc_idx) struct pci_dev *pcidev = NULL; struct pci_host_bridge *bridge; bool found = false; - struct pci_bus *bus; + struct pci_bus *bus, *child; resource_size_t iobase = 0; u32 ids, vendor_id, device_id; LIST_HEAD(res); @@ -4930,6 +4930,9 @@ int msm_pcie_enumerate(u32 rc_idx) bus = bridge->bus; pci_assign_unassigned_bus_resources(bus); + list_for_each_entry(child, &bus->children, node) + pcie_bus_configure_settings(child); + pci_bus_add_devices(bus); dev->enumerated = true;