提交 5593e303 编写于 作者: S Shreyas B. Prabhu 提交者: Michael Ellerman

powerpc/powernv: set power_save func after the idle states are initialized

pnv_init_idle_states() discovers supported idle states from the
device tree and does the required initialization. Set power_save
function pointer only after this initialization is done

Otherwise on machines which don't support nap, eg. Power9, the kernel
will crash when it tries to nap.
Reviewed-by: NGautham R. Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: NShreyas B. Prabhu <shreyas@linux.vnet.ibm.com>
Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: NMichael Neuling <mikey@neuling.org>
Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
上级 9497a1c1
...@@ -285,6 +285,9 @@ static int __init pnv_init_idle_states(void) ...@@ -285,6 +285,9 @@ static int __init pnv_init_idle_states(void)
} }
pnv_alloc_idle_core_states(); pnv_alloc_idle_core_states();
if (supported_cpuidle_states & OPAL_PM_NAP_ENABLED)
ppc_md.power_save = power7_idle;
out_free: out_free:
kfree(flags); kfree(flags);
out: out:
......
...@@ -315,7 +315,7 @@ define_machine(powernv) { ...@@ -315,7 +315,7 @@ define_machine(powernv) {
.get_proc_freq = pnv_get_proc_freq, .get_proc_freq = pnv_get_proc_freq,
.progress = pnv_progress, .progress = pnv_progress,
.machine_shutdown = pnv_shutdown, .machine_shutdown = pnv_shutdown,
.power_save = power7_idle, .power_save = NULL,
.calibrate_decr = generic_calibrate_decr, .calibrate_decr = generic_calibrate_decr,
#ifdef CONFIG_KEXEC #ifdef CONFIG_KEXEC
.kexec_cpu_down = pnv_kexec_cpu_down, .kexec_cpu_down = pnv_kexec_cpu_down,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册