linux-stable/drivers/cpuidle
Anup Patel 4140fd90c9 cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage
[ Upstream commit cfadbb9df8 ]

Currently, we are using CPU_PM_CPU_IDLE_ENTER_PARAM() for all SBI HSM
suspend types so retentive suspend types are also treated non-retentive
and kernel will do redundant additional work for these states.

The BIT[31] of SBI HSM suspend types allows us to differentiate between
retentive and non-retentive suspend types so we should use this BIT
to call appropriate CPU_PM_CPU_IDLE_ENTER_xyz() macro.

Fixes: 6abf32f1d9 ("cpuidle: Add RISC-V SBI CPU idle driver")
Signed-off-by: Anup Patel <apatel@ventanamicro.com>
Link: https://lore.kernel.org/r/20220718084553.2056169-1-apatel@ventanamicro.com/
Reviewed-by: Andrew Jones <ajones@ventanamicro.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-24 09:58:03 +02:00
..
governors cpuidle: menu: Fix typo in a comment 2021-11-24 17:30:44 +01:00
Kconfig cpuidle: Add RISC-V SBI CPU idle driver 2022-03-10 09:29:51 -08:00
Kconfig.arm cpuidle: Factor-out power domain related code from PSCI domain driver 2022-03-10 09:29:44 -08:00
Kconfig.mips
Kconfig.powerpc
Kconfig.riscv cpuidle: Add RISC-V SBI CPU idle driver 2022-03-10 09:29:51 -08:00
Makefile cpuidle: Add RISC-V SBI CPU idle driver 2022-03-10 09:29:51 -08:00
coupled.c smp: Cleanup smp_call_function*() 2020-11-24 16:47:49 +01:00
cpuidle-arm.c
cpuidle-at91.c
cpuidle-big_little.c cpuidle: big.LITTLE: enable driver only on Peach-Pit/Pi Chromebooks 2020-10-26 10:15:24 +01:00
cpuidle-calxeda.c
cpuidle-clps711x.c
cpuidle-cps.c
cpuidle-exynos.c
cpuidle-haltpoll.c cpuidle: haltpoll: Call cpuidle_poll_state_init() later 2022-03-09 19:59:45 +01:00
cpuidle-kirkwood.c
cpuidle-mvebu-v7.c
cpuidle-powernv.c powerpc/powernv/idle: add a basic stop 0-3 driver for POWER10 2020-09-15 22:13:38 +10:00
cpuidle-psci-domain.c cpuidle: psci: Fix regression leading to no genpd governor 2022-05-19 19:35:54 +02:00
cpuidle-psci.c cpuidle: PSCI: Improve support for suspend-to-RAM for PSCI OSI mode 2022-04-19 17:24:34 +02:00
cpuidle-psci.h cpuidle: Factor-out power domain related code from PSCI domain driver 2022-03-10 09:29:44 -08:00
cpuidle-pseries.c cpuidle: pseries: Mark pseries_idle_proble() as __init 2021-08-04 10:53:38 +10:00
cpuidle-qcom-spm.c firmware: qcom: scm: Drop cpumask parameter from set_boot_addr() 2022-02-03 21:54:48 -06:00
cpuidle-riscv-sbi.c cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage 2022-10-24 09:58:03 +02:00
cpuidle-tegra.c cpuidle: tegra: Check whether PMC is ready 2021-10-05 19:11:40 +02:00
cpuidle-ux500.c mfd/cpuidle: ux500: Rename driver symbol 2021-08-16 13:42:34 +01:00
cpuidle-zynq.c
cpuidle.c cpuidle: Select polling interval based on a c-state with a longer target residency 2020-12-01 17:59:18 +01:00
cpuidle.h
driver.c cpuidle: Use s64 as exit_latency_ns and target_residency_ns data type 2021-04-07 19:26:44 +02:00
dt_idle_genpd.c cpuidle: Factor-out power domain related code from PSCI domain driver 2022-03-10 09:29:44 -08:00
dt_idle_genpd.h cpuidle: Factor-out power domain related code from PSCI domain driver 2022-03-10 09:29:44 -08:00
dt_idle_states.c
dt_idle_states.h
governor.c
poll_state.c
sysfs.c cpuidle: use default_groups in kobj_type 2022-01-05 18:31:17 +01:00