Linux 5.11 Begins Early Prepping Around PCI Express 6.0
With the Linux 5.11 PCI updates is support for reporting a PCI Express link speed of 64 GT/s. The tentative PCI Express 6.0 specification defines a 64.0 GT/s link speed and this current change is about being able to report it to the user rather than as an unknown speed. The PCIe hardware should already be negotiating the best possible speed automatically. The change for Linux 5.11 was contributed by a Synopsys engineer.
There are early versions of the PCI Express 6.0 specification since earlier this year with its first draft and then last month brought the "complete draft" for review. PCIe 6.0 is expected to be finalized in 2021. Compared to PCI Express 4.0's 16 GT/s per lane and PCI Express 5.0's 32 GT/s per lane, PCI Express 6.0 promises 64 GT/s per lane or roughly 256GB/s bandwidth for PCIe x16. One of the key differences with PCI Express 6.0 is making use of Pulse-Amplitude Modulation (PAM-4) with low-latency, forward error correction.
As the finalized PCI Express 6.0 specification nears and hardware appearing well after that point, more Linux kernel changes around PCIe 6.0 will surely be coming, but for now is the ability to report the doubled link speed in comparison to PCI Express 5.0.
A few of the other PCI changes for Linux 5.11 include:
- A new sysfs attribute that exposes the PCI power state and showing the current power state seen by the kernel (power_statr attribute). This is useful for reporting D3cold as lspci output cannot. This will also report other values from D3hot through D0.
- AMD Raven Ridge integrated GPU ATS (Address Translation Services) is being marked as broken for select platforms. The root cause is not currently known but for hardware where ATS gets disabled ends up losing out on compute support.
- Qualcomm SM8250 SoC support.
More details via the PCI pull request.