linux/arch/powerpc/platforms/pseries
Nicolas Pitre d8c6ad3184 sched/idle, PPC: Remove redundant cpuidle_idle_call()
The core idle loop now takes care of it.  However a few things need
checking:

- Invocation of cpuidle_idle_call() in pseries_lpar_idle() happened
  through arch_cpu_idle() and was therefore always preceded by a call
  to ppc64_runlatch_off().  To preserve this property now that
  cpuidle_idle_call() is invoked directly from core code, a call to
  ppc64_runlatch_off() has been added to idle_loop_prolog() in
  platforms/pseries/processor_idle.c.

- Similarly, cpuidle_idle_call() was followed by ppc64_runlatch_off()
  so a call to the later has been added to idle_loop_epilog().

- And since arch_cpu_idle() always made sure to re-enable IRQs if they
  were not enabled, this is now
  done in idle_loop_epilog() as well.

The above was made in order to keep the execution flow close to the
original.  I don't know if that was strictly necessary. Someone well
aquainted with the platform details might find some room for possible
optimizations.

Signed-off-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-sh@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linaro-kernel@lists.linaro.org
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-47o4m03citrfg9y1vxic5asb@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-02-11 09:58:24 +01:00
..
cmm.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
dlpar.c hotplug, powerpc, x86: Remove cpu_hotplug_driver_lock() 2013-09-30 19:55:51 +02:00
dtl.c powerpc: Delete non-required instances of include <linux/init.h> 2014-01-15 13:46:44 +11:00
eeh_pseries.c powerpc/eeh: Add restore_config operation 2014-01-15 13:46:46 +11:00
event_sources.c of/irq: simplify args to irq_create_of_mapping 2013-10-24 11:42:57 +01:00
firmware.c powerpc/pseries: Update CPU maps when device tree is updated 2013-04-26 16:08:23 +10:00
hotplug-cpu.c pseries: Move plpar_wrapper.h to powerpc common include/asm location. 2013-08-27 14:43:05 +10:00
hotplug-memory.c powerpc: add explicit OF includes 2013-10-09 20:04:11 -05:00
hvCall_inst.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
hvCall.S powerpc: Merge STK_REG/PARAM/FRAMESIZE 2012-07-10 19:18:03 +10:00
hvconsole.c pseries: Move plpar_wrapper.h to powerpc common include/asm location. 2013-08-27 14:43:05 +10:00
hvcserver.c powerpc/pseries/hvcserver: Fix strncpy buffer limit in location code 2013-03-05 16:56:27 +11:00
io_event_irq.c trivial: powerpc: Fix typo in ioei_interrupt() description 2013-06-30 15:03:18 +10:00
iommu.c Revert "pseries/iommu: Remove DDW on kexec" 2014-01-15 13:46:45 +11:00
Kconfig powerpc/pseries/cpuidle: Move processor_idle.c to drivers/cpuidle. 2014-01-29 17:02:22 +11:00
kexec.c pseries: Move plpar_wrapper.h to powerpc common include/asm location. 2013-08-27 14:43:05 +10:00
lpar.c powerpc/mm: Use HPTE constants when updating hpte bits 2013-12-09 11:40:27 +11:00
lparcfg.c powerpc/pseries: Fix endian issues in /proc/ppc64/lparcfg 2013-12-13 15:48:35 +11:00
Makefile powerpc/pseries/cpuidle: Move processor_idle.c to drivers/cpuidle. 2014-01-29 17:02:22 +11:00
mobility.c powerpc/pseries: Add mising of_node_put in delete_dt_node 2013-08-27 14:45:15 +10:00
msi.c powerpc/pseries: Fix endian issues in MSI code 2013-12-13 15:48:38 +11:00
nvram.c powerpc/pseries: Fix endian issues in nvram code 2013-12-13 15:48:36 +11:00
offline_states.h
pci_dlpar.c powerpc/eeh: Move common part to kernel directory 2013-06-20 17:05:35 +10:00
pci.c powerpc/pseries: Fix PCIE link speed endian issue 2013-12-13 15:48:37 +11:00
power.c
pseries_energy.c powerpc: Fix a number of sparse warnings 2013-08-14 11:50:24 +10:00
pseries.h powerpc/pseries: Make dlpar_configure_connector parent node aware 2013-08-27 14:45:14 +10:00
ras.c powerpc: Fix the corrupt r3 error during MCE handling. 2013-07-24 14:18:45 +10:00
reconfig.c proc: Supply PDE attribute setting accessor functions 2013-05-01 17:29:18 -04:00
rng.c powerpc/pseries: Fix SMP=n build of rng.c 2013-11-21 10:33:45 +11:00
scanlog.c ppc: Clean up scanlog 2013-05-01 17:29:45 -04:00
setup.c sched/idle, PPC: Remove redundant cpuidle_idle_call() 2014-02-11 09:58:24 +01:00
smp.c powerpc/pseries: Do not start secondaries in Open Firmware 2013-09-25 14:19:00 +10:00
suspend.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00