Re: [PATCH] misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp()

From: Bjorn Helgaas
Date: Sun Sep 13 2020 - 12:50:17 EST


On Sun, Sep 13, 2020 at 09:40:56AM +0100, Chris Clayton wrote:
> Hi Greg and Arnd,
>
> On 24/08/2020 04:00, ricky_wu@xxxxxxxxxxx wrote:
> > From: Ricky Wu <ricky_wu@xxxxxxxxxxx>
> >
> > this power saving action in rtsx_pci_init_ocp() cause INTEL-NUC6 platform
> > missing card reader
>
> In his changelog above, Ricky didn't mention that this patch fixes a
> regression that was introduced (in 5.1) by commit bede03a579b3.
>
> The patch that I posted to LKML contained the appropriate Fixes, etc
> tags. After discussion, the patch was changed to remove the code
> that effectively disables the RTS5229 cardreader on (at least some)
> Intel NUC boxes. I prepared the patch that Ricky submitted but he
> didn't include my Signed-off-by or the Fixes tag. I think the
> following needs to be added to the changelog.
>
> Fixes: bede03a579b3 ("misc: rtsx: Enable OCP for rts522a rts524a rts525a rts5260")
> Link: https://marc.info/?l=linux-kernel&m=159105912832257

Better lore link:

Link: https://lore.kernel.org/r/CACYmiSer8FA+qjh8NHZJ2maxSd-=RwDdZ2F7_-E4uM1NXuZ8gQ@xxxxxxxxxxxxxx/

But I'm not sure the above is the most relevant. Seems like the one
below is more to the point since it has the exact patch below and is
part of a thread developing it:

Link: https://lore.kernel.org/r/20da8b4b-8426-9568-c0f1-4d1c2006c53f@xxxxxxxxxxxxxx/

> Link: https://bugzilla.kernel.org/show_bug.cgi?id=204003
> Signed-off-by: Chris Clayton <chris2553@xxxxxxxxxxxxxx>
>
> bede03a579b3 introduced a bug which leaves the rts5229 PCI Express
> card reader on the Intel NUC6CAYH box.
>
> My main point, however, is that the patch is also needed in the 5.4
> (longterm) and 5.8 (stable) series kernels.

This would be accomplished by:

Cc: stable@xxxxxxxxxxxxxxx # v5.1+

> > Signed-off-by: Ricky Wu <ricky_wu@xxxxxxxxxxx>
> > ---
> > drivers/misc/cardreader/rtsx_pcr.c | 4 ----
> > 1 file changed, 4 deletions(-)
> >
> > diff --git a/drivers/misc/cardreader/rtsx_pcr.c b/drivers/misc/cardreader/rtsx_pcr.c
> > index 37ccc67f4914..3a4a7b0cc098 100644
> > --- a/drivers/misc/cardreader/rtsx_pcr.c
> > +++ b/drivers/misc/cardreader/rtsx_pcr.c
> > @@ -1155,10 +1155,6 @@ void rtsx_pci_init_ocp(struct rtsx_pcr *pcr)
> > rtsx_pci_write_register(pcr, REG_OCPGLITCH,
> > SD_OCP_GLITCH_MASK, pcr->hw_param.ocp_glitch);
> > rtsx_pci_enable_ocp(pcr);
> > - } else {
> > - /* OC power down */
> > - rtsx_pci_write_register(pcr, FPDCTL, OC_POWER_DOWN,
> > - OC_POWER_DOWN);
> > }
> > }
> > }
> >