RE: [v2] mmc: sdhci-of-esdhc: fix the mmc error after sleep on ls1046ardb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Uffe,

I'm sorry for the redundant emails from us.
Yinbo found his email couldn’t reach patchwork but didn’t know why this happened.
So I helped him to resend one. Just got same problem.
Strange, we still don’t know the reason.

Thanks a lot.


Best regards,
Yangbo Lu

> -----Original Message-----
> From: Ulf Hansson [mailto:ulf.hansson@xxxxxxxxxx]
> Sent: 2017年12月6日 0:29
> To: Y.b. Lu <yangbo.lu@xxxxxxx>
> Cc: linux-mmc@xxxxxxxxxxxxxxx; Adrian Hunter <adrian.hunter@xxxxxxxxx>;
> Yinbo Zhu <yinbo.zhu@xxxxxxx>
> Subject: Re: [v2] mmc: sdhci-of-esdhc: fix the mmc error after sleep on
> ls1046ardb
> 
> On 1 December 2017 at 08:09, Yangbo Lu <yangbo.lu@xxxxxxx> wrote:
> > From: "yinbo.zhu" <yinbo.zhu@xxxxxxx>
> >
> > When system wakes up from sleep on ls1046ardb, the SD operation fails
> > with mmc error messages since ESDHC_TB_EN bit couldn't be cleaned by
> > eSDHC_SYSCTL[RSTA]. It's proper to clean this bit in esdhc_reset()
> > rather than in probe.
> >
> > Signed-off-by: yinbo.zhu <yinbo.zhu@xxxxxxx>
> > Acked-by: Yangbo Lu <yangbo.lu@xxxxxxx>
> > Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> 
> Thanks, applied for next.
> 
> I don't know why you guys did send several version on top, the only change I
> could find was the acked-by tag. Right?
> 
> Kind regards
> Uffe
> 
> > ---
> > Changes for v2:
> >         - Added Acked-by of Yangbo and Adrian.
> > ---
> >  drivers/mmc/host/sdhci-of-esdhc.c | 12 ++++++++----
> >  1 file changed, 8 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/mmc/host/sdhci-of-esdhc.c
> > b/drivers/mmc/host/sdhci-of-esdhc.c
> > index d74030f3bd12..4ffa6b173a21 100644
> > --- a/drivers/mmc/host/sdhci-of-esdhc.c
> > +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> > @@ -589,10 +589,18 @@ static void esdhc_pltfm_set_bus_width(struct
> > sdhci_host *host, int width)
> >
> >  static void esdhc_reset(struct sdhci_host *host, u8 mask)  {
> > +       u32 val;
> > +
> >         sdhci_reset(host, mask);
> >
> >         sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
> >         sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
> > +
> > +       if (mask & SDHCI_RESET_ALL) {
> > +               val = sdhci_readl(host, ESDHC_TBCTL);
> > +               val &= ~ESDHC_TB_EN;
> > +               sdhci_writel(host, val, ESDHC_TBCTL);
> > +       }
> >  }
> >
> >  /* The SCFG, Supplemental Configuration Unit, provides SoC specific
> > @@ -785,10 +793,6 @@ static void esdhc_init(struct platform_device *pdev,
> struct sdhci_host *host)
> >         pltfm_host = sdhci_priv(host);
> >         esdhc = sdhci_pltfm_priv(pltfm_host);
> >
> > -       val = sdhci_readl(host, ESDHC_TBCTL);
> > -       val &= ~ESDHC_TB_EN;
> > -       sdhci_writel(host, val, ESDHC_TBCTL);
> > -
> >         host_ver = sdhci_readw(host, SDHCI_HOST_VERSION);
> >         esdhc->vendor_ver = (host_ver & SDHCI_VENDOR_VER_MASK) >>
> >                              SDHCI_VENDOR_VER_SHIFT;
> > --
> > 2.14.1
> >
��.n��������+%������w��{.n�����{��i��)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux