diff mbox series

PCI/PM: Fix wrong field set when config L1SS

Message ID 1584012191-34129-1-git-send-email-yangyicong@hisilicon.com
State New
Headers show
Series PCI/PM: Fix wrong field set when config L1SS | expand

Commit Message

Yicong Yang March 12, 2020, 11:23 a.m. UTC
We enable proper L1 substates in the end of pcie_config_aspm_l1ss(). It's
PCI_L1SS_CTL1_L1SS_MASK field should we set in PCI_L1SS_CTL1 register
rather than PCI_L1SS_CAP_L1_PM_SS.

Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
---
 drivers/pci/pcie/aspm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Bjorn Helgaas March 12, 2020, 7:42 p.m. UTC | #1
On Thu, Mar 12, 2020 at 07:23:11PM +0800, Yicong Yang wrote:
> We enable proper L1 substates in the end of pcie_config_aspm_l1ss(). It's
> PCI_L1SS_CTL1_L1SS_MASK field should we set in PCI_L1SS_CTL1 register
> rather than PCI_L1SS_CAP_L1_PM_SS.
> 
> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>

Would you mind digging up the commit that broke this and including it
in the log message?  Then we can see if this fix should go to stable
and, if so, how far back.

> ---
>  drivers/pci/pcie/aspm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index 0dcd443..c2596e7 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -747,9 +747,9 @@ static void pcie_config_aspm_l1ss(struct pcie_link_state *link, u32 state)
>  
>  	/* Enable what we need to enable */
>  	pci_clear_and_set_dword(parent, up_cap_ptr + PCI_L1SS_CTL1,
> -				PCI_L1SS_CAP_L1_PM_SS, val);
> +				PCI_L1SS_CTL1_L1SS_MASK, val);
>  	pci_clear_and_set_dword(child, dw_cap_ptr + PCI_L1SS_CTL1,
> -				PCI_L1SS_CAP_L1_PM_SS, val);
> +				PCI_L1SS_CTL1_L1SS_MASK, val);
>  }
>  
>  static void pcie_config_aspm_dev(struct pci_dev *pdev, u32 val)
> -- 
> 2.8.1
>
diff mbox series

Patch

diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 0dcd443..c2596e7 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -747,9 +747,9 @@  static void pcie_config_aspm_l1ss(struct pcie_link_state *link, u32 state)
 
 	/* Enable what we need to enable */
 	pci_clear_and_set_dword(parent, up_cap_ptr + PCI_L1SS_CTL1,
-				PCI_L1SS_CAP_L1_PM_SS, val);
+				PCI_L1SS_CTL1_L1SS_MASK, val);
 	pci_clear_and_set_dword(child, dw_cap_ptr + PCI_L1SS_CTL1,
-				PCI_L1SS_CAP_L1_PM_SS, val);
+				PCI_L1SS_CTL1_L1SS_MASK, val);
 }
 
 static void pcie_config_aspm_dev(struct pci_dev *pdev, u32 val)