Re: [v6, 07/11] powerpc/powernv: set power_save func after the idle states are initialized
On Wed, 2016-08-06 at 16:54:27 UTC, "Shreyas B. Prabhu" wrote: > 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 > > Reviewed-by: Gautham R. Shenoy> Signed-off-by: Shreyas B. Prabhu > Acked-by: Benjamin Herrenschmidt > Acked-by: Michael Neuling Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/5593e3032736ccba30d28bd27e cheers ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v6 07/11] powerpc/powernv: set power_save func after the idle states are initialized
On Wed, 2016-06-22 at 11:54 +1000, Benjamin Herrenschmidt wrote: > On Wed, 2016-06-08 at 11:54 -0500, Shreyas B. Prabhu wrote: > > > > 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 > > > > Reviewed-by: Gautham R. Shenoy> > Signed-off-by: Shreyas B. Prabhu > Acked-by: Benjamin Herrenschmidt > > Please merge that one as-is now, no need to wait for the rest, as > otherwise pwoer9 crashes at boot. It doesn't need to wait for the > rest of the series. Acked-by: Michael Neuling For the same reason. Without this we need powersave=off on the cmdline on POWER9. Mikey > > Cheers, > Ben. > > > > > --- > > - No changes since v1 > > > > arch/powerpc/platforms/powernv/idle.c | 3 +++ > > arch/powerpc/platforms/powernv/setup.c | 2 +- > > 2 files changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/arch/powerpc/platforms/powernv/idle.c > > b/arch/powerpc/platforms/powernv/idle.c > > index fcc8b68..fbb09fb 100644 > > --- a/arch/powerpc/platforms/powernv/idle.c > > +++ b/arch/powerpc/platforms/powernv/idle.c > > @@ -285,6 +285,9 @@ static int __init pnv_init_idle_states(void) > > } > > > > pnv_alloc_idle_core_states(); > > + > > + if (supported_cpuidle_states & OPAL_PM_NAP_ENABLED) > > + ppc_md.power_save = power7_idle; > > out_free: > > kfree(flags); > > out: > > diff --git a/arch/powerpc/platforms/powernv/setup.c > > b/arch/powerpc/platforms/powernv/setup.c > > index ee6430b..8492bbb 100644 > > --- a/arch/powerpc/platforms/powernv/setup.c > > +++ b/arch/powerpc/platforms/powernv/setup.c > > @@ -315,7 +315,7 @@ define_machine(powernv) { > > .get_proc_freq = pnv_get_proc_freq, > > .progress = pnv_progress, > > .machine_shutdown = pnv_shutdown, > > - .power_save = power7_idle, > > + .power_save = NULL, > > .calibrate_decr = generic_calibrate_decr, > > #ifdef CONFIG_KEXEC > > .kexec_cpu_down = pnv_kexec_cpu_down, ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH v6 07/11] powerpc/powernv: set power_save func after the idle states are initialized
On Wed, 2016-06-08 at 11:54 -0500, Shreyas B. Prabhu wrote: > 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 > > Reviewed-by: Gautham R. Shenoy> Signed-off-by: Shreyas B. Prabhu Acked-by: Benjamin Herrenschmidt Please merge that one as-is now, no need to wait for the rest, as otherwise pwoer9 crashes at boot. It doesn't need to wait for the rest of the series. Cheers, Ben. > --- > - No changes since v1 > > arch/powerpc/platforms/powernv/idle.c | 3 +++ > arch/powerpc/platforms/powernv/setup.c | 2 +- > 2 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/platforms/powernv/idle.c > b/arch/powerpc/platforms/powernv/idle.c > index fcc8b68..fbb09fb 100644 > --- a/arch/powerpc/platforms/powernv/idle.c > +++ b/arch/powerpc/platforms/powernv/idle.c > @@ -285,6 +285,9 @@ static int __init pnv_init_idle_states(void) > } > > pnv_alloc_idle_core_states(); > + > + if (supported_cpuidle_states & OPAL_PM_NAP_ENABLED) > + ppc_md.power_save = power7_idle; > out_free: > kfree(flags); > out: > diff --git a/arch/powerpc/platforms/powernv/setup.c > b/arch/powerpc/platforms/powernv/setup.c > index ee6430b..8492bbb 100644 > --- a/arch/powerpc/platforms/powernv/setup.c > +++ b/arch/powerpc/platforms/powernv/setup.c > @@ -315,7 +315,7 @@ define_machine(powernv) { > .get_proc_freq = pnv_get_proc_freq, > .progress = pnv_progress, > .machine_shutdown = pnv_shutdown, > - .power_save = power7_idle, > + .power_save = NULL, > .calibrate_decr = generic_calibrate_decr, > #ifdef CONFIG_KEXEC > .kexec_cpu_down = pnv_kexec_cpu_down, ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [v6, 07/11] powerpc/powernv: set power_save func after the idle states are initialized
On 06/15/2016 11:11 AM, Michael Ellerman wrote: > On Wed, 2016-08-06 at 16:54:27 UTC, "Shreyas B. Prabhu" wrote: >> 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 > > This looks like a bug fix? Or is this not a concern in practice for some > reason > (and if so what is that reason)? > This isn't a concern currently because, all powernv machines so far supported nap and nap does not need any initialization from kernel side. Thanks, Shreyas ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [v6, 07/11] powerpc/powernv: set power_save func after the idle states are initialized
On Wed, 2016-08-06 at 16:54:27 UTC, "Shreyas B. Prabhu" wrote: > 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 This looks like a bug fix? Or is this not a concern in practice for some reason (and if so what is that reason)? cheers ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH v6 07/11] 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 Reviewed-by: Gautham R. ShenoySigned-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc/platforms/powernv/idle.c | 3 +++ arch/powerpc/platforms/powernv/setup.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c index fcc8b68..fbb09fb 100644 --- a/arch/powerpc/platforms/powernv/idle.c +++ b/arch/powerpc/platforms/powernv/idle.c @@ -285,6 +285,9 @@ static int __init pnv_init_idle_states(void) } pnv_alloc_idle_core_states(); + + if (supported_cpuidle_states & OPAL_PM_NAP_ENABLED) + ppc_md.power_save = power7_idle; out_free: kfree(flags); out: diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c index ee6430b..8492bbb 100644 --- a/arch/powerpc/platforms/powernv/setup.c +++ b/arch/powerpc/platforms/powernv/setup.c @@ -315,7 +315,7 @@ define_machine(powernv) { .get_proc_freq = pnv_get_proc_freq, .progress = pnv_progress, .machine_shutdown = pnv_shutdown, - .power_save = power7_idle, + .power_save = NULL, .calibrate_decr = generic_calibrate_decr, #ifdef CONFIG_KEXEC .kexec_cpu_down = pnv_kexec_cpu_down, -- 2.1.4 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev