mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-01-05 17:58:52 +00:00
975f4117d5
The e10133 workaround was broken in two places:
- The code intended to temporarily mask all interrupts in GPC_IMRx_CORE0.
While the old register values were saved, the actual masking was
missing.
- imx_udelay() expects the system counter to run at its base frequency,
but the system counter is switched to a lower frequency earlier in
psci_system_suspend(), leading to a much longer delay than intended.
Replace the call with an equivalent loop (linux-imx 5.15 does the same)
This fixes the SoC hanging forever when there was already a wakeup IRQ
pending while suspending.
Fixes:
|
||
---|---|---|
.. | ||
clock.c | ||
clock_slice.c | ||
ddr.c | ||
Kconfig | ||
Makefile | ||
psci-mx7.c | ||
psci-suspend.S | ||
snvs.c | ||
soc.c |