AMD Finally Flipping On ASPM For Navi 1x To Lower Power Consumption
While the Radeon RX 6000 "Navi 2x" hardware already can enjoy Active State Power Management (ASPM) on Linux, the AMDGPU kernel driver up to now hasn't enabled ASPM for Navi 1x graphics processors. That though looks to be changing with a pending patch that would allow these original Navi GPUs to enjoy this important PCIe power-savings feature.
Active State Power Management can provide noticeable power-savings under idle conditions as we have shown a few times in the past when seeing the support introduced as well as encountering Linux power regressions. ASPM allows for the PCIe link to be powered down or placed in a low-power state when there is no activity on the bus. The power savings for both mobile and desktop tend to be worthwhile aside from quirky hardware/drivers having exit latency issues.
While the current AMDGPU Linux kernel driver has ASPM enabled for Sienna Cichlid (Navi 2x) and other RX 6000 series parts, the Navi 1x support was left disabled. A code comment still reads, "The ASPM function is not fully enabled and verified on Navi yet. Temporarily skip this until ASPM enabled."
But it seems the AMDGPU kernel driver is fit for dealing with ASPM on Navi 1x. A pending patch drops the Sienna Cichlid checks to allow the original Navi GPUs to enable ASPM on Linux.
No other changes were made to the current AMDGPU driver code besides dropping the check in the conditional statement. The patch comment simply reads, "ASPM can be verified [functional] on navi1x. And can be enabled for the benefit of the power consumption without the performance hurt."
Given the timing of this patch, we likely won't see it for with Linux 5.13 unless it's treated as a "fix" given that the feature cut-off to DRM-Next ahead of the 5.13 cycle is upon us. In any case stay tuned and I'll let you know when the Navi 1x ASPM is sent into the mainline kernel.