summaryrefslogtreecommitdiffstats
path: root/arch/mips/loongson64
diff options
context:
space:
mode:
authorJiaxun Yang <jiaxun.yang@flygoat.com>2024-06-14 16:40:17 +0100
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2024-06-21 10:22:10 +0200
commit335819fd5bac67d05ab2d8d7438ac5c475ac03c6 (patch)
treea1cfc43a5e4d13e16d2fe1ddff657d8cab4a2e95 /arch/mips/loongson64
parent4e7ca0b57f3bc09ba3e4ab86bf6b7c35134bfd04 (diff)
downloadlinux-stable-335819fd5bac67d05ab2d8d7438ac5c475ac03c6.tar.gz
linux-stable-335819fd5bac67d05ab2d8d7438ac5c475ac03c6.tar.bz2
linux-stable-335819fd5bac67d05ab2d8d7438ac5c475ac03c6.zip
MIPS: Loongson64: sleeper: Pass ra and sp as arguments
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> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Diffstat (limited to 'arch/mips/loongson64')
-rw-r--r--arch/mips/loongson64/sleeper.S8
1 files 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)