Re: [PATCH] soc: imx: gpcv2: Synchronously suspend MIX domains
From: Lucas Stach <l.stach@pengutronix.de>
Date: 2021-10-17 19:42:33
Am Samstag, dem 16.10.2021 um 23:05 +0200 schrieb Marek Vasut:
In case the following power domain sequence happens, iMX8M Mini always hangs: gpumix:on -> gpu:on -> gpu:off -> gpu:on This is likely due to another quirk of the GPC block. This situation can be prevented by always synchronously powering off both the domain and MIX domain. Make it so. This turns the aforementioned sequence into: gpumix:on -> gpu:on -> gpu:off -> gpumix:off -> gpumix:on -> gpu:on
Did you test this with the reset sequence fixed? 2b2f106eb552 (Revert "soc: imx: gpcv2: move reset assert after requesting domain power up") in Shawns tree. I don't like that this is slowing down the power-down sequence and I'm not sure if it's required for the other domains, or if this is again a GPU domain specific issue. However, if it's fixing a hang that isn't solved by the proper reset sequence, I would say better safe than sorry, and we can always optimize this later if possible. Under the assumption that it's required even with the proper reset sequence: Acked-by: Lucas Stach <l.stach@pengutronix.de>
quoted hunk ↗ jump to hunk
Signed-off-by: Marek Vasut <marex@denx.de> Cc: Frieder Schrempf <redacted> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: NXP Linux Team <redacted> Cc: Peng Fan <peng.fan@nxp.com> Cc: Shawn Guo <shawnguo@kernel.org> --- drivers/soc/imx/gpcv2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c index b8d52d8d29db..e757044ab751 100644 --- a/drivers/soc/imx/gpcv2.c +++ b/drivers/soc/imx/gpcv2.c@@ -377,7 +377,7 @@ static int imx_pgc_power_down(struct generic_pm_domain *genpd) } } - pm_runtime_put(domain->dev); + pm_runtime_put_sync_suspend(domain->dev); return 0;
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel