Commit 307094c9 authored by Huacai Chen's avatar Huacai Chen
Browse files

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: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent 5d0cc7e5
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -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)