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

From: Jiaxun Yang
Date: Fri Jun 14 2024 - 11:43:17 EST


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@xxxxxxxxxxx>
---
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