How to activate PCIe ASPM

Revision as of 15:24, 12 June 2024 by Registered User
Applicable for STM32MP25x lines

1. Article purpose[edit source]

The purpose of this article is to explain how to activate the HSE PCIe ASPM.

ASPM (Active-State Power Management) allows ...

2. How to activate the monitoring[edit source]

By default, the PCIe ASPM is set to default (performance), which is the best tradoff between powersaving and exit latency.

To change the PCIe ASPM to power save mode, first check that the PCIe endpoint Capability supports ASPM

root@stm32mp2:~# lspci -vv -s 03:00.0 | grep ASPM
LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 unlimited
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+

It's possible to dynamically change the policy either from the /sys/fs

root@stm32mp2:~# echo powersave > /sys/module/pcie_aspm/parameters/policy

or using the boot flag:

pcie_aspm.policy=powersave

root@stm32mp2:~# lspci -vv -s 03:00.0 | grep ASPM

               LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 unlimited
                       ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
               LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+

Default config can be change with

CONFIG_PCIIEASPM_POWERSAVE=y flag
Warning white.png Warning
This configuration flag will be set by default in the DV6 version