Skip to content

Commit

Permalink
LoongArch: Adjust SETUP_SLEEP and SETUP_WAKEUP
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Huacai Chen committed Jan 25, 2025
1 parent 5d0cc7e commit 307094c
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions arch/loongarch/power/suspend_asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 */
Expand All @@ -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)

0 comments on commit 307094c

Please sign in to comment.