130-Extend-PCIE_BUS_PEER2PEER-to-set-MRSS-128-to-fix-CNS3xxx-BM-DMA..patch 958 B

1234567891011121314151617181920212223
  1. --- a/drivers/pci/probe.c
  2. +++ b/drivers/pci/probe.c
  3. @@ -1982,7 +1982,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. /* For Max performance, the MRRS must be set to the largest supported
  12. --- a/include/linux/pci.h
  13. +++ b/include/linux/pci.h
  14. @@ -757,7 +757,7 @@ enum pcie_bus_config_types {
  15. PCIE_BUS_DEFAULT, /* ensure MPS matches upstream bridge */
  16. PCIE_BUS_SAFE, /* use largest MPS boot-time devices support */
  17. PCIE_BUS_PERFORMANCE, /* use MPS and MRRS for best performance */
  18. - PCIE_BUS_PEER2PEER, /* set MPS = 128 for all devices */
  19. + PCIE_BUS_PEER2PEER, /* set MPS and MRSS to 128 for all devices */
  20. };
  21. extern enum pcie_bus_config_types pcie_bus_config;