Re: [PATCH v6 0/3] PCI/ASPM: Mask ASPM states based on Devicetree properties

From: Bjorn Helgaas

Date: Tue Aug 11 2026 - 22:38:02 EST


On Mon, Jul 27, 2026 at 07:32:35PM +0530, Krishna Chaitanya Chundru wrote:
> Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>

Applied to pci/aspm for v7.3, thank you!

> ---
> Changes in v6:
> - Disable/enable each function L0s/L1. (sashiko)
> - Move from pcie_capability_write_word to
> pcie_capability_clear_and_set_word (Sashiko)
> - Link to v5: https://patch.msgid.link/20260721-aspm-v5-1-58860c48d0c7@xxxxxxxxxxxxxxxx
>
> Changes in v5:
> - update all the child devices when enabling the ASPM back (sashiko).
> - Link to v4: https://patch.msgid.link/20260707-aspm-v4-1-d66f85b728b0@xxxxxxxxxxxxxxxx
>
> Changes in v4:
> - Clear link->aspm_enabled alongside aspm_support/aspm_default when an
> ASPM state is masked, so it no longer goes stale relative to hardware (sashiko).
> - Mask the LNKCTL restore snapshot against the post-override
> aspm_support so the restore step can no longer re-enable a state the
> Devicetree override just disabled. (sashiko)
> - Link to v3: https://patch.msgid.link/20260704-aspm-v3-1-157217aff76f@xxxxxxxxxxxxxxxx
>
> Changes in v3:
> - Move pcie_aspm_override_default_link_state() call in pcie_aspm_cap_init() to
> before the "Restore L0s/L1" block. pcie_aspm_cap_init() disables L1 in
> hardware prior to aspm_l1ss_init() and re-enables it only in the
> restore block. Calling pcie_config_aspm_l1ss() while L1 is already
> disabled satisfies its precondition ("Caller must disable L1 first"),
> whereas the previous placement after the restore violated it (sashiko).
> - Link to v2: https://patch.msgid.link/20260624-aspm-v2-1-800a4151ba3a@xxxxxxxxxxxxxxxx
>
> Changes in v2:
> - Disable L1ss when L1 is disabled as pointed by sashiko.
> - Disable L1ss if bootloader enables them but we are disabling via
> devicetree pointed by sashiko.
> - Link to v1: https://patch.msgid.link/20260511-aspm-v1-1-b4a9fe955cf9@xxxxxxxxxxxxxxxx
>
> ---
> Krishna Chaitanya Chundru (3):
> PCI/ASPM: Use pcie_capability_clear_and_set_word() for ASPM disable/restore
> PCI/ASPM: Disable/restore ASPM on every function for multi-function devices
> PCI/ASPM: Mask ASPM states based on Devicetree properties
>
> drivers/pci/pcie/aspm.c | 149 +++++++++++++++++++++++++++++++++---------------
> 1 file changed, 102 insertions(+), 47 deletions(-)
> ---
> base-commit: f5098b6bae761e346ebcd9da7f95622c04733cff
> change-id: 20260429-aspm-da55a54279e4
>
> Best regards,
> --
> Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
>