Subject: Re: [PATCH] PCI/ASPM: Enable only L0s and L1 for devicetree platforms

From: Johan Hovold <[email-masked]>
Date: Fri, 24 Oct 2025 17:12:38 +0200

On Thu, Oct 23, 2025 at 01:06:26PM -0500, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <[email-masked]>
> 
> f3ac2ff14834 ("PCI/ASPM: Enable all ClockPM and ASPM states for devicetree
> platforms") enabled Clock Power Management and L1 PM Substates, but those
> features depend on CLKREQ# and possibly other device-specific
> configuration.  We don't know whether CLKREQ# is supported, so we shouldn't
> blindly enable Clock PM and L1 PM Substates.
> 
> Enable only ASPM L0s and L1, and only when both ends of the link advertise
> support for them.
> 
> Fixes: f3ac2ff14834 ("PCI/ASPM: Enable all ClockPM and ASPM states for devicetree platforms")
> Reported-by: Christian Zigotzky <[email-masked]>
> Link: https://lore.kernel.org/r/[email-masked]/
> Reported-by: FUKAUMI Naoki <[email-masked]>
> Closes: https://lore.kernel.org/r/[email-masked]/
> Reported-by: Herve Codina <[email-masked]>
> Link: https://lore.kernel.org/r/[email-masked]/
> Reported-by: Diederik de Haas <[email-masked]>
> Link: https://lore.kernel.org/r/[email-masked]/
> Signed-off-by: Bjorn Helgaas <[email-masked]>
> Tested-by: FUKAUMI Naoki <[email-masked]>
> ---
> I intend this for v6.18-rc3.

Note that this will regress ASPM on Qualcomm platforms further by
disabling L1SS for devices that do not use pwrctrl (e.g. NVMe). ASPM
with pwrctrl is already broken since 6.15. [1]

Reverting also a729c1664619 ("PCI: qcom: Remove custom ASPM enablement
code") should avoid the new regression until a proper fix for the 6.15
regression is in place.

Johan

[1] https://lore.kernel.org/lkml/[email-masked]/