2021-01-21 07:34:42

by Ricky Wu

[permalink] [raw]
Subject: [PATCH] rtsx: pci: fix device aspm state bug

From: Ricky Wu <[email protected]>

changed rtsx_pci_disable_aspm() to rtsx_disable_aspm()
make sure pcr->aspm_enabled to sync with aspm state

BUG=b:175338107
TEST=chromeos-kernel-5_4

Signed-off-by: Ricky Wu <[email protected]>
Change-Id: I4b146dcdaaf2f2a965381c32780b0b110d751258
---
drivers/misc/cardreader/rtsx_pcr.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/cardreader/rtsx_pcr.c b/drivers/misc/cardreader/rtsx_pcr.c
index f07b01125d19..f3645e72ecc4 100644
--- a/drivers/misc/cardreader/rtsx_pcr.c
+++ b/drivers/misc/cardreader/rtsx_pcr.c
@@ -1285,8 +1285,15 @@ int rtsx_ms_power_off_card3v3(struct rtsx_pcr *pcr)
static int rtsx_pci_init_hw(struct rtsx_pcr *pcr)
{
int err;
+ u8 val;

pcr->pcie_cap = pci_find_capability(pcr->pci, PCI_CAP_ID_EXP);
+ rtsx_pci_read_config_byte(pcr, pcr->pcie_cap + PCI_EXP_LNKCTL, &val);
+ if (val & 0x02)
+ pcr->aspm_enabled = true;
+ else
+ pcr->aspm_enabled = false;
+
rtsx_pci_writel(pcr, RTSX_HCBAR, pcr->host_cmds_addr);

rtsx_pci_enable_bus_int(pcr);
@@ -1307,7 +1314,7 @@ static int rtsx_pci_init_hw(struct rtsx_pcr *pcr)
/* Wait SSC power stable */
udelay(200);

- rtsx_pci_disable_aspm(pcr);
+ rtsx_disable_aspm(pcr);
if (pcr->ops->optimize_phy) {
err = pcr->ops->optimize_phy(pcr);
if (err < 0)
--
2.17.1


2021-01-21 07:37:52

by Ricky Wu

[permalink] [raw]
Subject: RE: [PATCH] rtsx: pci: fix device aspm state bug

Hi Greg kh,

This patch to fix misc: rtsx bug for kernel 5.4

Ricky



> -----Original Message-----
> From: ?d???? Ricky <[email protected]>
> Sent: Thursday, January 21, 2021 3:29 PM
> To: [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; ?d???? Ricky <[email protected]>
> Subject: [PATCH] rtsx: pci: fix device aspm state bug
>
> From: Ricky Wu <[email protected]>
>
> changed rtsx_pci_disable_aspm() to rtsx_disable_aspm() make sure
> pcr->aspm_enabled to sync with aspm state
>
> BUG=b:175338107
> TEST=chromeos-kernel-5_4
>
> Signed-off-by: Ricky Wu <[email protected]>
> Change-Id: I4b146dcdaaf2f2a965381c32780b0b110d751258
> ---
> drivers/misc/cardreader/rtsx_pcr.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/cardreader/rtsx_pcr.c
> b/drivers/misc/cardreader/rtsx_pcr.c
> index f07b01125d19..f3645e72ecc4 100644
> --- a/drivers/misc/cardreader/rtsx_pcr.c
> +++ b/drivers/misc/cardreader/rtsx_pcr.c
> @@ -1285,8 +1285,15 @@ int rtsx_ms_power_off_card3v3(struct rtsx_pcr
> *pcr) static int rtsx_pci_init_hw(struct rtsx_pcr *pcr) {
> int err;
> + u8 val;
>
> pcr->pcie_cap = pci_find_capability(pcr->pci, PCI_CAP_ID_EXP);
> + rtsx_pci_read_config_byte(pcr, pcr->pcie_cap + PCI_EXP_LNKCTL, &val);
> + if (val & 0x02)
> + pcr->aspm_enabled = true;
> + else
> + pcr->aspm_enabled = false;
> +
> rtsx_pci_writel(pcr, RTSX_HCBAR, pcr->host_cmds_addr);
>
> rtsx_pci_enable_bus_int(pcr);
> @@ -1307,7 +1314,7 @@ static int rtsx_pci_init_hw(struct rtsx_pcr *pcr)
> /* Wait SSC power stable */
> udelay(200);
>
> - rtsx_pci_disable_aspm(pcr);
> + rtsx_disable_aspm(pcr);
> if (pcr->ops->optimize_phy) {
> err = pcr->ops->optimize_phy(pcr);
> if (err < 0)
> --
> 2.17.1

2021-01-21 08:09:58

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] rtsx: pci: fix device aspm state bug

On Thu, Jan 21, 2021 at 07:33:03AM +0000, 吳昊澄 Ricky wrote:
> Hi Greg kh,
>
> This patch to fix misc: rtsx bug for kernel 5.4

I do not understand what this means, sorry. Can you please explain it?

greg k-h

2021-01-21 08:20:49

by Ricky Wu

[permalink] [raw]
Subject: RE: [PATCH] rtsx: pci: fix device aspm state bug

> -----Original Message-----
> From: [email protected] <[email protected]>
> Sent: Thursday, January 21, 2021 4:07 PM
> To: 吳昊澄 Ricky <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH] rtsx: pci: fix device aspm state bug
>
> On Thu, Jan 21, 2021 at 07:33:03AM +0000, 吳昊澄 Ricky wrote:
> > Hi Greg kh,
> >
> > This patch to fix misc: rtsx bug for kernel 5.4
>
> I do not understand what this means, sorry. Can you please explain it?
>
On the newest upstream we don’t set config space for en/disable aspm,
so it will not happen this issue
but on kernel 5.4 longterm version we need to fix it

>
> ------Please consider the environment before printing this e-mail.

2021-01-21 08:30:38

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] rtsx: pci: fix device aspm state bug

On Thu, Jan 21, 2021 at 08:15:46AM +0000, 吳昊澄 Ricky wrote:
> > -----Original Message-----
> > From: [email protected] <[email protected]>
> > Sent: Thursday, January 21, 2021 4:07 PM
> > To: 吳昊澄 Ricky <[email protected]>
> > Cc: [email protected]; [email protected];
> > [email protected]; [email protected]; [email protected];
> > [email protected]; [email protected]
> > Subject: Re: [PATCH] rtsx: pci: fix device aspm state bug
> >
> > On Thu, Jan 21, 2021 at 07:33:03AM +0000, 吳昊澄 Ricky wrote:
> > > Hi Greg kh,
> > >
> > > This patch to fix misc: rtsx bug for kernel 5.4
> >
> > I do not understand what this means, sorry. Can you please explain it?
> >
> On the newest upstream we don’t set config space for en/disable aspm,
> so it will not happen this issue
> but on kernel 5.4 longterm version we need to fix it

Please read
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to submit patches to the stable tree properly.

And if this is not an issue in Linus's tree, why not just backport the
commits that fixed this issue? That's the best way to do this.

thanks,

greg k-h

2021-01-21 10:11:33

by Ricky Wu

[permalink] [raw]
Subject: RE: [PATCH] rtsx: pci: fix device aspm state bug

> -----Original Message-----
> From: [email protected] <[email protected]>
> Sent: Thursday, January 21, 2021 4:28 PM
> To: 吳昊澄 Ricky <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH] rtsx: pci: fix device aspm state bug
>
> On Thu, Jan 21, 2021 at 08:15:46AM +0000, 吳昊澄 Ricky wrote:
> > > -----Original Message-----
> > > From: [email protected] <[email protected]>
> > > Sent: Thursday, January 21, 2021 4:07 PM
> > > To: 吳昊澄 Ricky <[email protected]>
> > > Cc: [email protected]; [email protected];
> > > [email protected]; [email protected];
> > > [email protected];
> > > [email protected]; [email protected]
> > > Subject: Re: [PATCH] rtsx: pci: fix device aspm state bug
> > >
> > > On Thu, Jan 21, 2021 at 07:33:03AM +0000, 吳昊澄 Ricky wrote:
> > > > Hi Greg kh,
> > > >
> > > > This patch to fix misc: rtsx bug for kernel 5.4
> > >
> > > I do not understand what this means, sorry. Can you please explain it?
> > >
> > On the newest upstream we don’t set config space for en/disable aspm,
> > so it will not happen this issue but on kernel 5.4 longterm version we
> > need to fix it
>
> Please read
> https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
> for how to submit patches to the stable tree properly.
>
> And if this is not an issue in Linus's tree, why not just backport the commits
> that fixed this issue? That's the best way to do this.
>
Thanks your advice
We discuss it internally


> ------Please consider the environment before printing this e-mail.