On Thu, 6 Feb 2014, Preeti U Murthy wrote:
Hi Daniel,
On 02/06/2014 09:55 PM, Daniel Lezcano wrote:
Hi Nico,
On 6 February 2014 14:16, Nicolas Pitre nicolas.pitre@linaro.org wrote:
The core idle loop now takes care of it.
Signed-off-by: Nicolas Pitre nico@linaro.org
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 <linux/of_fdt.h> #include <linux/interrupt.h> #include <linux/bug.h> -#include <linux/cpuidle.h>
#include <asm/machdep.h> #include <asm/firmware.h> @@ -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();
}
The cpuidle_idle_call is called from arch_cpu_idle in arch/powerpc/kernel/idle.c between a ppc64_runlatch_off|on section. Shouldn't the cpuidle-powernv driver call these functions when entering idle ?
Yes they should, I will send out a patch that does that ontop of this. There have been cpuidle driver cleanups for powernv and pseries in this merge window. While no change would be required in the pseries cpuidle driver as a result of Nicolas's cleanup, we would need to add the ppc64_runlatch_on and off functions before and after the entry into the powernv idle states.
What about creating arch_cpu_idle_enter() and arch_cpu_idle_exit() in arch/powerpc/kernel/idle.c and calling ppc64_runlatch_off() and ppc64_runlatch_on() respectively from there instead? Would that work? That would make the idle consolidation much easier afterwards.
Nicolas