[PATCH v6 0/3] PCI/ASPM: Mask ASPM states based on Devicetree properties
From: Krishna Chaitanya Chundru
Date: Mon Jul 27 2026 - 10:10:04 EST
Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
---
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>