[PATCH v5 01/18] Revert "soc: imx: gpcv2: move reset assert after requesting domain power up"

Adam Ford aford173 at gmail.com
Sun Oct 3 17:03:15 PDT 2021


On Sun, Oct 3, 2021 at 2:46 PM Lucas Stach <l.stach at pengutronix.de> wrote:
>
> Hi Adam,
>
> Am Sonntag, dem 03.10.2021 um 05:43 -0500 schrieb Adam Ford:
> > On Fri, Oct 1, 2021 at 8:00 PM Lucas Stach <l.stach at pengutronix.de> wrote:
> > >
> > > This reverts commit a77ebdd9f553. It turns out that the VPU domain has no
> > > different requirements, even though the downstream ATF implementation seems
> > > to suggest otherwise. Powering on the domain with the reset asserted works
> > > fine. As the changed sequence has caused sporadic issues with the GPU
> > > domains, just revert the change to go back to the working sequence.
> > >
> > > Cc: <stable at vger.kernel.org> # 5.14
> > > Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> > > Acked-by: Peng Fan <peng.fan at nxp.com>
> > > ---
> >
> > Lucas,
> >
> > I applied your series to the 5.14.y kernel to test with the
> > imx8mm-beacon board, but I found that it doesn't wake from sleep.
> > I'll experiment with other versions of ATF.  If nobody else has this
> > problem, I'll assume, it's an error on my part.
>
> I've tested this series on the i.MX8MM-EVK and a custom (not yet
> public) i.MX8MM board and both did work as expected with both system
> suspend/resume and runtime power management for the display parts. I've
> used the upstream TF-A release v2.5.

OK.  I have tested the USB otg1 and otg2 and they work. The etnativ
controllers enumerate, but without lcdif and dsim, it's not practical
to test.
If nobody else is having issues with suspend-resume, go ahead and mark this as:

Tested-by: Adam Ford <aford173 at gmail.com> #imx8mm-beacon
>
> Regards,
> Lucas
>
> >
> > adam
> >
> > >  drivers/soc/imx/gpcv2.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c
> > > index 34a9ac1f2b9b..8b7a01773aec 100644
> > > --- a/drivers/soc/imx/gpcv2.c
> > > +++ b/drivers/soc/imx/gpcv2.c
> > > @@ -244,6 +244,8 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd)
> > >                 goto out_regulator_disable;
> > >         }
> > >
> > > +       reset_control_assert(domain->reset);
> > > +
> > >         if (domain->bits.pxx) {
> > >                 /* request the domain to power up */
> > >                 regmap_update_bits(domain->regmap, GPC_PU_PGC_SW_PUP_REQ,
> > > @@ -266,8 +268,6 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd)
> > >                                   GPC_PGC_CTRL_PCR);
> > >         }
> > >
> > > -       reset_control_assert(domain->reset);
> > > -
> > >         /* delay for reset to propagate */
> > >         udelay(5);
> > >
> > > --
> > > 2.30.2
> > >
>
>



More information about the linux-arm-kernel mailing list