cns3xxx: set both MPS 'and' MRSS to 128
[openwrt.git] / target / linux / cns3xxx / patches-4.4 / 130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch
1 --- a/drivers/pci/probe.c
2 +++ b/drivers/pci/probe.c
3 @@ -1924,7 +1924,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 @@ -756,7 +756,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;