ef7da9fe23fcaeead84cccee0e0a23ae47fc664d
[oweals/openwrt.git] /
1 --- a/drivers/pci/probe.c
2 +++ b/drivers/pci/probe.c
3 @@ -2309,7 +2309,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 @@ -847,7 +847,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;