diff options
| author | Matthias Schiffer <[email protected]> | 2022-09-26 10:31:08 +0200 |
|---|---|---|
| committer | Stefano Babic <[email protected]> | 2022-11-07 22:45:04 +0100 |
| commit | 975f4117d5592312acd14d715fd7498361a77b57 (patch) | |
| tree | 12d400ec35c7a9c50dee2d4c20dba55df7a5b5f4 /include/linux/linux_string.h | |
| parent | a887f2ac3e6c2479476ff0ef82c1d2e23178b6f9 (diff) | |
ARM: mx7: psci: fix suspend/resume e10133 workaround
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: 57b620255e ("imx: mx7: add system suspend/resume support")
Signed-off-by: Matthias Schiffer <[email protected]>
Diffstat (limited to 'include/linux/linux_string.h')
0 files changed, 0 insertions, 0 deletions
