[Linux-kernel-mentees] [RFC PATCH v5 10/23] PCI: Relocate call to aspm_calc_l1ss_info

Saheed O. Bolarinwa refactormyself at gmail.com
Sat Aug 22 20:03:45 UTC 2020


This function calculates pcie_link_state.l1ss.{ctl1, ctl2} which are
only used inside pcie_config_aspm_l1ss().

Move call to aspm_calc_l1ss_info from pcie_aspm_cap_init() to
pcie_config_aspm_l1ss().

Signed-off-by: Saheed O. Bolarinwa <refactormyself at gmail.com>
---
 drivers/pci/pcie/aspm.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index bf728c82158f..89f3f3a6d007 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -578,9 +578,6 @@ static void pcie_aspm_cap_init(struct pcie_link_state *link, int blacklist)
 	if (up_l1ss_ctl1 & dw_l1ss_ctl1 & PCI_L1SS_CTL1_PCIPM_L1_2)
 		link->aspm_enabled |= ASPM_STATE_L1_2_PCIPM;
 
-	if (link->aspm_support & ASPM_STATE_L1SS)
-		aspm_calc_l1ss_info(link);
-
 	/* Save default state */
 	link->aspm_default = link->aspm_enabled;
 
@@ -628,7 +625,8 @@ static void pcie_config_aspm_l1ss(struct pcie_link_state *link, u32 state)
 	u32 up_cap_ptr = link->l1ss.up_cap_ptr;
 	u32 dw_cap_ptr = link->l1ss.dw_cap_ptr;
 
-	enable_req = (link->aspm_enabled ^ state) & state;
+	enable_req = (parent->aspm_enabled ^ state) & state;
+	aspm_calc_l1ss_info(link);
 
 	/*
 	 * Here are the rules specified in the PCIe spec for enabling L1SS:
-- 
2.18.4



More information about the Linux-kernel-mentees mailing list