diff options
author | Fuad Tabba <tabba@google.com> | 2021-05-24 11:29:46 +0300 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-05-25 21:27:48 +0300 |
commit | 46710cf1fcb6235388e8d80619cdf2c196ad554b (patch) | |
tree | 84fd2bb18666a082630d03a05e85ffa1cd9db389 | |
parent | d11b187760f52480dd83bda0429ee3c94e542b1d (diff) | |
download | linux-46710cf1fcb6235388e8d80619cdf2c196ad554b.tar.xz |
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 <mark.rutland@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Fuad Tabba <tabba@google.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20210524083001.2586635-4-tabba@google.com
Signed-off-by: Will Deacon <will@kernel.org>
-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 |