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

Jiaxun Yang posted 10 patches 1 year, 6 months ago
[PATCH 09/10] MIPS: Loongson64: sleeper: Pass ra and sp as arguments
Posted by Jiaxun Yang 1 year, 6 months ago
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 --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)

-- 
2.43.0