linux/arch
Jiaxun Yang e523a5a65f LoongArch: Add ACPI standard hardware register based S3 support
Most LoongArch 64 machines are using custom "SADR" ACPI extension to
perform ACPI S3 sleep. However the standard ACPI way to perform sleep
is to write a value to ACPI PM1/SLEEP_CTL register, and this is never
supported properly in kernel.

Add standard S3 sleep by providing a default DoSuspend function which
calls ACPI's acpi_enter_sleep_state() routine when SADR is not provided
by the firmware.

Also fix suspend assembly code so that ra is set properly before go
into sleep routine. (Previously linked address of jirl was set to a0,
some firmware do require return address in a0 but it's already set with
la.pcrel before).

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2024-07-20 22:41:06 +08:00
..
alpha mseal: wire up mseal syscall 2024-05-23 19:40:26 -07:00
arc arc: convert to generic syscall table 2024-07-10 14:23:38 +02:00
arm Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
arm64 Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
csky csky: convert to generic syscall table 2024-07-10 14:23:38 +02:00
hexagon hexagon: use new system call table 2024-07-10 14:23:38 +02:00
loongarch LoongArch: Add ACPI standard hardware register based S3 support 2024-07-20 22:41:06 +08:00
m68k clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
microblaze syscalls: mmap(): use unsigned offset type consistently 2024-06-25 15:57:38 +02:00
mips clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
nios2 nios2: convert to generic syscall table 2024-07-10 14:23:38 +02:00
openrisc openrisc: convert to generic syscall table 2024-07-10 14:23:38 +02:00
parisc clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
powerpc Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
riscv Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
s390 Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
sh clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
sparc clone3: drop __ARCH_WANT_SYS_CLONE3 macro 2024-07-10 14:23:38 +02:00
um um: don't generate asm/bpf_perf_event.h 2024-07-10 14:23:30 +02:00
x86 Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
xtensa Merge tag 'asm-generic-6.11' into loongarch-next 2024-07-17 17:07:11 +08:00
.gitignore
Kconfig Revert "mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default" 2024-06-17 12:57:03 -07:00