b5306a7dbe09afddac15298a47e872a973abcc1a
[openwrt/openwrt.git] /
1 --- a/drivers/pci/probe.c
2 +++ b/drivers/pci/probe.c
3 @@ -1978,7 +1978,8 @@ static void pcie_write_mrrs(struct pci_d
4 /* In the "safe" case, do not configure the MRRS. There appear to be
5 * issues with setting MRRS to 0 on a number of devices.
6 */
7 - if (pcie_bus_config != PCIE_BUS_PERFORMANCE)
8 + if (pcie_bus_config != PCIE_BUS_PERFORMANCE &&
9 + pcie_bus_config != PCIE_BUS_PEER2PEER)
10 return;
11
12 /* For Max performance, the MRRS must be set to the largest supported
13 --- a/include/linux/pci.h
14 +++ b/include/linux/pci.h
15 @@ -757,7 +757,7 @@ enum pcie_bus_config_types {
16 PCIE_BUS_DEFAULT, /* ensure MPS matches upstream bridge */
17 PCIE_BUS_SAFE, /* use largest MPS boot-time devices support */
18 PCIE_BUS_PERFORMANCE, /* use MPS and MRRS for best performance */
19 - PCIE_BUS_PEER2PEER, /* set MPS = 128 for all devices */
20 + PCIE_BUS_PEER2PEER, /* set MPS and MRSS to 128 for all devices */
21 };
22
23 extern enum pcie_bus_config_types pcie_bus_config;