Re: [PATCH] mmc: sdhci-xenon: fix 1.8v regulator stabilization
From: Pali Rohár
Date: Fri Mar 18 2022 - 09:06:22 EST
On Friday 18 March 2022 14:01:00 Pali Rohár wrote:
> On Wednesday 16 March 2022 02:03:35 Marcin Wojtas wrote:
> > Hi Pali,
> >
> > śr., 16 mar 2022 o 00:03 Pali Rohár <pali@xxxxxxxxxx> napisał(a):
> > >
> > > Hello!
> > >
> > > On Monday 14 March 2022 16:51:25 Marcin Wojtas wrote:
> > > > Hi Pali,
> > > >
> > > >
> > > > pon., 14 mar 2022 o 16:40 Pali Rohár <pali@xxxxxxxxxx> napisał(a):
> > > > >
> > > > > On Monday 11 January 2021 19:06:24 Ulf Hansson wrote:
> > > > > > On Fri, 11 Dec 2020 at 15:17, Marcin Wojtas <mw@xxxxxxxxxxxx> wrote:
> > > > > > >
> > > > > > > From: Alex Leibovich <alexl@xxxxxxxxxxx>
> > > > > > >
> > > > > > > Automatic Clock Gating is a feature used for the power
> > > > > > > consumption optimisation. It turned out that
> > > > > > > during early init phase it may prevent the stable voltage
> > > > > > > switch to 1.8V - due to that on some platfroms an endless
> > > > > > > printout in dmesg can be observed:
> > > > > > > "mmc1: 1.8V regulator output did not became stable"
> > > > > > > Fix the problem by disabling the ACG at very beginning
> > > > > > > of the sdhci_init and let that be enabled later.
> > > > > > >
> > > > > > > Fixes: 3a3748dba881 ("mmc: sdhci-xenon: Add Marvell Xenon SDHC core functionality")
> > > > > > > Signed-off-by: Alex Leibovich <alexl@xxxxxxxxxxx>
> > > > > > > Signed-off-by: Marcin Wojtas <mw@xxxxxxxxxxxx>
> > > > > > > Cc: stable@xxxxxxxxxxxxxxx
> > > > > >
> > > > > > Applied for fixes (by fixing the typos), thanks!
> > > > >
> > > > > Hello!
> > > > >
> > > > > Is not this patch address same issue which was fixed by patch which was
> > > > > merged earlier?
> > > > >
> > > > > bb32e1987bc5 ("mmc: sdhci-xenon: fix annoying 1.8V regulator warning")
> > > > > https://lore.kernel.org/linux-mmc/CAPDyKFqAsvgAjfL-c9ukFNWeGJmufQosR2Eg9SKjXMVpNitdkA@xxxxxxxxxxxxxx/
> > > > >
> > > >
> > > > This indeed look similar. This fix was originally developed for CN913x
> > > > platform without the mentioned patch (I'm wondering if it would also
> > > > suffice to fix A3k board's problem). Anyway, I don't think we have an
> > > > issue here, as everything seems to work fine on top of mainline Linux
> > > > with both changes.
> > >
> > > Yea, there should be no issue. Just question is if we need _both_ fixes.
> > >
> > > I could probably try to revert bb32e1987bc5 and check what happens on
> > > A3k board.
> > >
> >
> > Yes, that would be interesting. Please let me know whenever you find
> > time to check.
>
> Hello! Now I tested kernel with reverted commit bb32e1987bc5 ("mmc:
> sdhci-xenon: fix annoying 1.8V regulator warning") and issue is still
> fixed. I reverted also bb32e1987bc5 ("mmc: sdhci-xenon: fix annoying
> 1.8V regulator warning") commit and then issue appeared again.
I mean that I reverted also 1a3ed0dc3594 ("mmc: sdhci-xenon: fix 1.8v
regulator stabilization") commit and then issue appeared again.
> So any of this commit is fixing that issue on Armada 3720.
>
> Should we revert one of them?
>
> > Best regards,
> > Marcin
> >
> > > > > >
> > > > > >
> > > > > > > ---
> > > > > > > drivers/mmc/host/sdhci-xenon.c | 7 ++++++-
> > > > > > > 1 file changed, 6 insertions(+), 1 deletion(-)
> > > > > > >
> > > > > > > diff --git a/drivers/mmc/host/sdhci-xenon.c b/drivers/mmc/host/sdhci-xenon.c
> > > > > > > index c67611fdaa8a..4b05f6fdefb4 100644
> > > > > > > --- a/drivers/mmc/host/sdhci-xenon.c
> > > > > > > +++ b/drivers/mmc/host/sdhci-xenon.c
> > > > > > > @@ -168,7 +168,12 @@ static void xenon_reset_exit(struct sdhci_host *host,
> > > > > > > /* Disable tuning request and auto-retuning again */
> > > > > > > xenon_retune_setup(host);
> > > > > > >
> > > > > > > - xenon_set_acg(host, true);
> > > > > > > + /*
> > > > > > > + * The ACG should be turned off at the early init time, in order
> > > > > > > + * to solve a possile issues with the 1.8V regulator stabilization.
> > > > > > > + * The feature is enabled in later stage.
> > > > > > > + */
> > > > > > > + xenon_set_acg(host, false);
> > > > > > >
> > > > > > > xenon_set_sdclk_off_idle(host, sdhc_id, false);
> > > > > > >
> > > > > > > --
> > > > > > > 2.29.0
> > > > > > >