[PATCH 5.15 06/12] Revert "soc: imx: gpcv2: move reset assert after requesting domain power up"

From: Greg Kroah-Hartman
Date: Thu Nov 04 2021 - 10:14:18 EST


From: Lucas Stach <l.stach@xxxxxxxxxxxxxx>

commit 2b2f106eb55276a60a89ac27a52d0d738b57a546 upstream.

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@xxxxxxxxxxxxxxx> # 5.14
Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
Acked-by: Peng Fan <peng.fan@xxxxxxx>
Tested-by: Adam Ford <aford173@xxxxxxxxx> #imx8mm-beacon
Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
drivers/soc/imx/gpcv2.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/soc/imx/gpcv2.c
+++ b/drivers/soc/imx/gpcv2.c
@@ -244,6 +244,8 @@ static int imx_pgc_power_up(struct gener
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 gener
GPC_PGC_CTRL_PCR);
}

- reset_control_assert(domain->reset);
-
/* delay for reset to propagate */
udelay(5);