From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepthi Dharwar Subject: Re: [PATCH 1/2] PPC: powernv: remove redundant cpuidle_idle_call() Date: Fri, 14 Feb 2014 16:55:49 +0530 Message-ID: <52FDFD3D.2010207@linux.vnet.ibm.com> References: <1391696188-14540-1-git-send-email-nicolas.pitre@linaro.org> <52FDFB4C.7010607@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <52FDFB4C.7010607@linux.vnet.ibm.com> Sender: linux-kernel-owner@vger.kernel.org To: Preeti U Murthy Cc: Nicolas Pitre , linaro-kernel@lists.linaro.org, linux-pm@vger.kernel.org, Peter Zijlstra , Daniel Lezcano , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, Ingo Molnar , Thomas Gleixner , linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org List-Id: linux-pm@vger.kernel.org On 02/14/2014 04:47 PM, Preeti U Murthy wrote: > Hi Nicolas, > > You will have to include the below patch with yours. You > could squash the two I guess, I have added the changelog > just for clarity. And you also might want to change the subject to > cpuidle/powernv. It gives a better picture. > > Thanks > > Regards > Preeti U Murthy > > > cpuidle/powernv: Add ppc64_runlatch_off/on() to idle routines > > Following moving of cpuidle_idle_call() to the generic idle loop, we need to > add the runlatch functions to the idle routines on powernv which was earlier > taken care of by the arch specific idle routine. > > Signed-off-by: Preeti U Murthy Reviewed-by: Deepthi Dharwar > --- > drivers/cpuidle/cpuidle-powernv.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/cpuidle/cpuidle-powernv.c b/drivers/cpuidle/cpuidle-powernv.c > index 78fd174..f48607c 100644 > --- a/drivers/cpuidle/cpuidle-powernv.c > +++ b/drivers/cpuidle/cpuidle-powernv.c > @@ -14,6 +14,7 @@ > > #include > #include > +#include > > struct cpuidle_driver powernv_idle_driver = { > .name = "powernv_idle", > @@ -30,12 +31,14 @@ static int snooze_loop(struct cpuidle_device *dev, > local_irq_enable(); > set_thread_flag(TIF_POLLING_NRFLAG); > > + ppc64_runlatch_off(); > while (!need_resched()) { > HMT_low(); > HMT_very_low(); > } > > HMT_medium(); > + ppc64_runlatch_on(); > clear_thread_flag(TIF_POLLING_NRFLAG); > smp_mb(); > return index; > @@ -45,7 +48,9 @@ static int nap_loop(struct cpuidle_device *dev, > struct cpuidle_driver *drv, > int index) > { > + ppc64_runlatch_off(); > power7_idle(); > + ppc64_runlatch_on(); > return index; > } > > > On 02/06/2014 07:46 PM, Nicolas Pitre wrote: >> The core idle loop now takes care of it. >> >> Signed-off-by: Nicolas Pitre >> --- >> arch/powerpc/platforms/powernv/setup.c | 13 +------------ >> 1 file changed, 1 insertion(+), 12 deletions(-) >> >> diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c >> index 21166f65c9..a932feb290 100644 >> --- a/arch/powerpc/platforms/powernv/setup.c >> +++ b/arch/powerpc/platforms/powernv/setup.c >> @@ -26,7 +26,6 @@ >> #include >> #include >> #include >> -#include >> >> #include >> #include >> @@ -217,16 +216,6 @@ static int __init pnv_probe(void) >> return 1; >> } >> >> -void powernv_idle(void) >> -{ >> - /* Hook to cpuidle framework if available, else >> - * call on default platform idle code >> - */ >> - if (cpuidle_idle_call()) { >> - power7_idle(); >> - } >> -} >> - >> define_machine(powernv) { >> .name = "PowerNV", >> .probe = pnv_probe, >> @@ -236,7 +225,7 @@ define_machine(powernv) { >> .show_cpuinfo = pnv_show_cpuinfo, >> .progress = pnv_progress, >> .machine_shutdown = pnv_shutdown, >> - .power_save = powernv_idle, >> + .power_save = power7_idle, >> .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 >