]> www.infradead.org Git - users/jedix/linux-maple.git/commit
cpuidle: riscv-sbi: Add cpuidle_disabled() check
authorNick Hu <nick.hu@sifive.com>
Wed, 14 Aug 2024 05:44:34 +0000 (13:44 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 17 Oct 2024 18:34:43 +0000 (11:34 -0700)
commit27b4d6aa29abe6c4f0b7695bc831fcc8d32267d9
tree8fc7e3c5b6717449b60e94d861dbd4ade3e1e857
parentf8a23e3b79d6c622e1b329706cbd802bc88a058f
cpuidle: riscv-sbi: Add cpuidle_disabled() check

The consumer devices that inside the cpu/cluster power domain may register
the genpd notifier where their power domains point to the pd nodes under
'/cpus/power-domains'. If the cpuidle.off==1, the genpd notifier will fail
due to sbi_cpuidle_pd_allow_domain_state is not set. We also need the
sbi_cpuidle_cpuhp_up/down to invoke the callbacks. Therefore adding a
cpuidle_disabled() check before cpuidle_register() to address the issue.

Signed-off-by: Nick Hu <nick.hu@sifive.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20240814054434.3563453-3-nick.hu@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
drivers/cpuidle/cpuidle-riscv-sbi.c