diff options
author | Fuad Tabba <[email protected]> | 2021-05-24 09:29:46 +0100 |
---|---|---|
committer | Will Deacon <[email protected]> | 2021-05-25 19:27:48 +0100 |
commit | 46710cf1fcb6235388e8d80619cdf2c196ad554b (patch) | |
tree | 84fd2bb18666a082630d03a05e85ffa1cd9db389 | |
parent | d11b187760f52480dd83bda0429ee3c94e542b1d (diff) |
arm64: Apply errata to swsusp_arch_suspend_exit
The Arm errata covered by ARM64_WORKAROUND_CLEAN_CACHE require
that "dc cvau" instructions get promoted to "dc civac".
Reported-by: Mark Rutland <[email protected]>
Acked-by: Mark Rutland <[email protected]>
Signed-off-by: Fuad Tabba <[email protected]>
Reviewed-by: Ard Biesheuvel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Will Deacon <[email protected]>
-rw-r--r-- | arch/arm64/kernel/hibernate-asm.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/kernel/hibernate-asm.S b/arch/arm64/kernel/hibernate-asm.S index 8ccca660034e..0ed2f72a6b94 100644 --- a/arch/arm64/kernel/hibernate-asm.S +++ b/arch/arm64/kernel/hibernate-asm.S @@ -91,7 +91,8 @@ SYM_CODE_START(swsusp_arch_suspend_exit) raw_dcache_line_size x2, x3 sub x3, x2, #1 bic x4, x10, x3 -2: dc cvau, x4 /* clean D line / unified line */ +2: /* clean D line / unified line */ +alternative_insn "dc cvau, x4", "dc civac, x4", ARM64_WORKAROUND_CLEAN_CACHE add x4, x4, x2 cmp x4, x1 b.lo 2b |