diff mbox series

[09/10] MIPS: Loongson64: sleeper: Pass ra and sp as arguments

Message ID 20240614-ls3k-mips-v1-9-7614340ace7d@flygoat.com (mailing list archive)
State Accepted
Commit 335819fd5bac67d05ab2d8d7438ac5c475ac03c6
Headers show
Series MIPS: Loongson64: Loongson-2K1000 fixes | expand

Commit Message

Jiaxun Yang June 14, 2024, 3:40 p.m. UTC
Some firmware implementations require restoring ra and sp to be
passed as arguments.

Passing them as necessary.

Fixes: 68557c59a550 ("MIPS: Loongson64: Implement PM suspend for LEFI firmware")
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
 arch/mips/loongson64/sleeper.S | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/arch/mips/loongson64/sleeper.S b/arch/mips/loongson64/sleeper.S
index 04874b9bf430..cf16877409e2 100644
--- a/arch/mips/loongson64/sleeper.S
+++ b/arch/mips/loongson64/sleeper.S
@@ -11,7 +11,11 @@ 
 
 LEAF(loongson_lefi_sleep)
 	SUSPEND_SAVE
-	jalr    a0
-    smp_slave_setup
+	move	t9, a0
+	PTR_LA	a0, wake
+	move	a1, sp
+	jalr    t9
+wake:
+	smp_slave_setup
 	RESUME_RESTORE_REGS_RETURN
 END(loongson_lefi_sleep)