From 2885d4d3764e964b15adda01f66c516ce5ff2079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= Date: Fri, 11 Jul 2025 16:28:24 +0300 Subject: [PATCH 1/3] PCI/ASPM: Rename pci_enable_link_state() to pci_set_default_link_state() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pci_enable_link_state() and pci_disable_link_state() are not paired symmetrically despite their names suggesting otherwise. pci_enable_link_state() tweaks link state when the "default" policy is in use rather than exactly "enabling" some link states. Obviously, when the default policy is in use and the default link state is changed, some link states may get enabled but that is a secondary effect. Thus, rename pci_enable_link_state() to pci_set_default_link_state() to better match what it does. The rename also frees pci_enable_link_state() name so that a function that pairs symmetrically with pci_disable_link_state() can be added later. There's also pci_enable_link_state_locked() variant which is similarly renamed to pci_set_default_link_state_locked(). Signed-off-by: Ilpo Järvinen --- drivers/pci/controller/dwc/pcie-qcom.c | 2 +- drivers/pci/controller/vmd.c | 2 +- drivers/pci/pcie/aspm.c | 29 +++++++++++++------------- include/linux/pci.h | 8 +++---- 4 files changed, 21 insertions(+), 20 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c index c789e3f85655..37ef3ba0c20b 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -1023,7 +1023,7 @@ static int qcom_pcie_enable_aspm(struct pci_dev *pdev, void *userdata) * substates. */ pci_set_power_state_locked(pdev, PCI_D0); - pci_enable_link_state_locked(pdev, PCIE_LINK_STATE_ALL); + pci_set_default_link_state_locked(pdev, PCIE_LINK_STATE_ALL); return 0; } diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c index 8df064b62a2f..f45e9e39c415 100644 --- a/drivers/pci/controller/vmd.c +++ b/drivers/pci/controller/vmd.c @@ -770,7 +770,7 @@ static int vmd_pm_enable_quirk(struct pci_dev *pdev, void *userdata) * PCIe r6.0, sec 5.5.4. */ pci_set_power_state_locked(pdev, PCI_D0); - pci_enable_link_state_locked(pdev, PCIE_LINK_STATE_ALL); + pci_set_default_link_state_locked(pdev, PCIE_LINK_STATE_ALL); return 0; } diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 29fcb0689a91..33e9885c0210 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -1432,7 +1432,7 @@ int pci_disable_link_state(struct pci_dev *pdev, int state) } EXPORT_SYMBOL(pci_disable_link_state); -static int __pci_enable_link_state(struct pci_dev *pdev, int state, bool locked) +static int __pci_set_default_link_state(struct pci_dev *pdev, int state, bool locked) { struct pcie_link_state *link = pcie_aspm_get_link(pdev); @@ -1465,8 +1465,8 @@ static int __pci_enable_link_state(struct pci_dev *pdev, int state, bool locked) } /** - * pci_enable_link_state - Clear and set the default device link state so that - * the link may be allowed to enter the specified states. Note that if the + * pci_set_default_link_state - Clear and set the default device link state so + * that the link may be allowed to enter the specified states. Note that if the * BIOS didn't grant ASPM control to the OS, this does nothing because we can't * touch the LNKCTL register. Also note that this does not enable states * disabled by pci_disable_link_state(). Return 0 or a negative errno. @@ -1477,18 +1477,19 @@ static int __pci_enable_link_state(struct pci_dev *pdev, int state, bool locked) * @pdev: PCI device * @state: Mask of ASPM link states to enable */ -int pci_enable_link_state(struct pci_dev *pdev, int state) +int pci_set_default_link_state(struct pci_dev *pdev, int state) { - return __pci_enable_link_state(pdev, state, false); + return __pci_set_default_link_state(pdev, state, false); } -EXPORT_SYMBOL(pci_enable_link_state); +EXPORT_SYMBOL(pci_set_default_link_state); /** - * pci_enable_link_state_locked - Clear and set the default device link state - * so that the link may be allowed to enter the specified states. Note that if - * the BIOS didn't grant ASPM control to the OS, this does nothing because we - * can't touch the LNKCTL register. Also note that this does not enable states - * disabled by pci_disable_link_state(). Return 0 or a negative errno. + * pci_set_default_link_state_locked - Clear and set the default device link + * state so that the link may be allowed to enter the specified states. Note + * that if the BIOS didn't grant ASPM control to the OS, this does nothing + * because we can't touch the LNKCTL register. Also note that this does not + * enable states disabled by pci_disable_link_state(). Return 0 or a negative + * errno. * * Note: Ensure devices are in D0 before enabling PCI-PM L1 PM Substates, per * PCIe r6.0, sec 5.5.4. @@ -1498,13 +1499,13 @@ EXPORT_SYMBOL(pci_enable_link_state); * * Context: Caller holds pci_bus_sem read lock. */ -int pci_enable_link_state_locked(struct pci_dev *pdev, int state) +int pci_set_default_link_state_locked(struct pci_dev *pdev, int state) { lockdep_assert_held_read(&pci_bus_sem); - return __pci_enable_link_state(pdev, state, true); + return __pci_set_default_link_state(pdev, state, true); } -EXPORT_SYMBOL(pci_enable_link_state_locked); +EXPORT_SYMBOL(pci_set_default_link_state_locked); static int pcie_aspm_set_policy(const char *val, const struct kernel_param *kp) diff --git a/include/linux/pci.h b/include/linux/pci.h index 05e68f35f392..b8f60864ef81 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1826,8 +1826,8 @@ static inline int pcie_set_target_speed(struct pci_dev *port, #ifdef CONFIG_PCIEASPM int pci_disable_link_state(struct pci_dev *pdev, int state); int pci_disable_link_state_locked(struct pci_dev *pdev, int state); -int pci_enable_link_state(struct pci_dev *pdev, int state); -int pci_enable_link_state_locked(struct pci_dev *pdev, int state); +int pci_set_default_link_state(struct pci_dev *pdev, int state); +int pci_set_default_link_state_locked(struct pci_dev *pdev, int state); void pcie_no_aspm(void); bool pcie_aspm_support_enabled(void); bool pcie_aspm_enabled(struct pci_dev *pdev); @@ -1836,9 +1836,9 @@ static inline int pci_disable_link_state(struct pci_dev *pdev, int state) { return 0; } static inline int pci_disable_link_state_locked(struct pci_dev *pdev, int state) { return 0; } -static inline int pci_enable_link_state(struct pci_dev *pdev, int state) +static inline int pci_set_default_link_state(struct pci_dev *pdev, int state) { return 0; } -static inline int pci_enable_link_state_locked(struct pci_dev *pdev, int state) +static inline int pci_set_default_link_state_locked(struct pci_dev *pdev, int state) { return 0; } static inline void pcie_no_aspm(void) { } static inline bool pcie_aspm_support_enabled(void) { return false; } base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494 -- 2.39.5