-
Notifications
You must be signed in to change notification settings - Fork 127
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for initializing Max Payload Size during PCIe enumeration (…
…#562) ## Description PCIe's Max Payload Size controls the maximum packet size that can be handled by a given device. The device's maximum supported MPS is provided by the PCIe Device Capabilities Register, and the current MPS is programmed in the Control Register. For a given Root Port, the MPS should be the same value for all devices and bridges under that Root Port. When the new PCD `PcdPcieInitializeMps` is set to TRUE, the supported MPS will be collected as part of PCI device creation and after all devices are enumerated under the Root Port, all devices and bridges will have their MPS set to the optimum value. This allows platforms to ensure that the optimum MPS is set across the PCI tree before PCI devices are started. This can significantly improve performance for PCI devices such as NVMe. - [x] Impacts functionality? - [ ] Impacts security? - [ ] Breaking change? - [ ] Includes tests? - [ ] Includes documentation? ## How This Was Tested Tested on virtual and physical platforms, OS boot tested. ## Integration Instructions N/A Co-authored-by: abrahamg <abrahamg@microsoft.com> --------- Co-authored-by: abrahamg <abrahamg@microsoft.com>
- Loading branch information
1 parent
dfea1d6
commit 3c690c4
Showing
7 changed files
with
240 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters