diff options
author | 2025-01-25 18:51:43 +0800 | |
---|---|---|
committer | 2025-01-25 18:51:43 +0800 | |
commit | 307094c9e26ef704d7061733f8d6fab9ca2ad09a (patch) | |
tree | e722e0e71ed105c126d110896cd2fb52b8e85da7 | |
parent | LoongArch: Refactor bug_handler() implementation (diff) | |
download | wireguard-linux-307094c9e26ef704d7061733f8d6fab9ca2ad09a.tar.xz wireguard-linux-307094c9e26ef704d7061733f8d6fab9ca2ad09a.zip |
LoongArch: Adjust SETUP_SLEEP and SETUP_WAKEUP
SETUP_SLEEP should only save the GPR context, which is symmetric to
SETUP_WAKEUP, so move the acpi_saved_sp handling out of SETUP_SLEEP.
Move "addi.d sp, sp, PT_SIZE" into SETUP_WAKEUP for the same reason.
No functional changes.
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
-rw-r--r-- | arch/loongarch/power/suspend_asm.S | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/loongarch/power/suspend_asm.S b/arch/loongarch/power/suspend_asm.S index 9fe28d5a0270..df0865df26fa 100644 --- a/arch/loongarch/power/suspend_asm.S +++ b/arch/loongarch/power/suspend_asm.S @@ -30,9 +30,6 @@ st.d $r29, sp, PT_R29 st.d $r30, sp, PT_R30 st.d $r31, sp, PT_R31 - - la.pcrel t0, acpi_saved_sp - st.d sp, t0, 0 .endm .macro SETUP_WAKEUP @@ -51,6 +48,7 @@ ld.d $r29, sp, PT_R29 ld.d $r30, sp, PT_R30 ld.d $r31, sp, PT_R31 + addi.d sp, sp, PT_SIZE .endm .text @@ -59,6 +57,10 @@ /* Sleep/wakeup code for Loongson-3 */ SYM_FUNC_START(loongarch_suspend_enter) SETUP_SLEEP + + la.pcrel t0, acpi_saved_sp + st.d sp, t0, 0 + bl __flush_cache_all /* Pass RA and SP to BIOS */ @@ -82,7 +84,7 @@ SYM_INNER_LABEL(loongarch_wakeup_start, SYM_L_GLOBAL) la.pcrel t0, acpi_saved_sp ld.d sp, t0, 0 + SETUP_WAKEUP - addi.d sp, sp, PT_SIZE jr ra SYM_FUNC_END(loongarch_suspend_enter) |