Thread (26 messages) 26 messages, 4 authors, 2021-12-22

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

From: Adam Ford <hidden>
Date: 2021-10-04 00:03:30
Also in: linux-devicetree

On Sun, Oct 3, 2021 at 2:46 PM Lucas Stach [off-list ref] wrote:
Hi Adam,

Am Sonntag, dem 03.10.2021 um 05:43 -0500 schrieb Adam Ford:
quoted
On Fri, Oct 1, 2021 at 8:00 PM Lucas Stach [off-list ref] wrote:
quoted
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: <redacted> # 5.14
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Peng Fan <peng.fan@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 <redacted> #imx8mm-beacon
Regards,
Lucas
quoted
adam
quoted
 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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help