
On Thu, 14 Mar 2024 at 09:45, Marek Vasut marex@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@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