[PATCH v3 04/11] imx8mp: power-domain: Don't power off pd_bus

Sumit Garg sumit.garg at linaro.org
Fri Mar 15 06:31:36 CET 2024


On Thu, 14 Mar 2024 at 09:45, Marek Vasut <marex at denx.de> wrote:
>
> On 3/12/24 8:03 AM, Sumit Garg wrote:
> > power_domain_on/off() isn't refcounted and power domain bus shouldn't be
> > turned off for a single peripheral domain as it would negatively affect
> > other peripheral domains. So lets just skip turning off bus power
> > domain.
>
> What exactly is the issue and how did you trigger it ?
>
> Details please.

I suppose the issue can be triggered via the "=> usb start => usb
stop" sequence where one of the USB controllers is configured in
peripheral mode.

>
> > Fixes: 898e7610c62a ("imx: power-domain: Add i.MX8MP HSIOMIX driver")
> > Signed-off-by: Sumit Garg <sumit.garg at linaro.org>
> > ---
> >   drivers/power/domain/imx8mp-hsiomix.c | 6 +-----
> >   1 file changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/drivers/power/domain/imx8mp-hsiomix.c b/drivers/power/domain/imx8mp-hsiomix.c
> > index e2d772c5ec7..448746432a2 100644
> > --- a/drivers/power/domain/imx8mp-hsiomix.c
> > +++ b/drivers/power/domain/imx8mp-hsiomix.c
> > @@ -50,7 +50,7 @@ static int imx8mp_hsiomix_on(struct power_domain *power_domain)
> >
> >       ret = power_domain_on(domain);
> >       if (ret)
> > -             goto err_pd;
> > +             return ret;
> >
> >       ret = clk_enable(&priv->clk_usb);
> >       if (ret)
> > @@ -63,8 +63,6 @@ static int imx8mp_hsiomix_on(struct power_domain *power_domain)
> >
> >   err_clk:
> >       power_domain_off(domain);
> > -err_pd:
> > -     power_domain_off(&priv->pd_bus);
> >       return ret;
>
> Why not add counter into imx8mp_hsiomix_priv structure in this driver ?

Sure I can do that but do you think the current approach can have any
side effects?

-Sumit


More information about the U-Boot mailing list