Re: [PATCH v6 0/3] PCI/ASPM: Mask ASPM states based on Devicetree properties
Bjorn Helgaas <[email protected]>
| Newsgroups | org.kernel.vger.linux-pci,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260812023735.GA846004@bhelgaas> |
On Mon, Jul 27, 2026 at 07:32:35PM +0530, Krishna Chaitanya Chundru wrote: > Signed-off-by: Krishna Chaitanya Chundru <[email protected]> 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/[email protected] > > Changes in v5: > - update all the child devices when enabling the ASPM back (sashiko). > - Link to v4: https://patch.msgid.link/[email protected] > > 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/[email protected] > > 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/[email protected] > > 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/[email protected] > > --- > 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 <[email protected]> >