kernel-ark/arch/sh/kernel/cpu
Deepthi Dharwar 46bcfad7a8 cpuidle: Single/Global registration of idle states
This patch makes the cpuidle_states structure global (single copy)
instead of per-cpu. The statistics needed on per-cpu basis
by the governor are kept per-cpu. This simplifies the cpuidle
subsystem as state registration is done by single cpu only.
Having single copy of cpuidle_states saves memory. Rare case
of asymmetric C-states can be handled within the cpuidle driver
and architectures such as POWER do not have asymmetric C-states.

Having single/global registration of all the idle states,
dynamic C-state transitions on x86 are handled by
the boot cpu. Here, the boot cpu  would disable all the devices,
re-populate the states and later enable all the devices,
irrespective of the cpu that would receive the notification first.

Reference:
https://lkml.org/lkml/2011/4/25/83

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2011-11-06 21:13:58 -05:00
..
irq sh: Convert to new function names 2011-03-29 14:48:13 +02:00
sh2 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework 2011-01-13 15:06:28 +09:00
sh2a Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework 2011-01-13 15:06:28 +09:00
sh3 sh: Fix up build fallout from serial merge. 2011-06-20 12:24:53 +09:00
sh4 Merge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x 2011-08-01 06:10:16 -10:00
sh4a sh: fix the compile error in setup-sh7757.c 2011-08-29 15:47:38 +09:00
sh5 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework 2011-01-13 15:06:28 +09:00
shmobile cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
adc.c
clock-cpg.c sh: move CLKDEV_xxx_ID macro to sh_clk.h 2011-07-11 15:07:25 +09:00
clock.c ARM: 6483/1: arm & sh: factorised duplicated clkdev.c 2010-11-26 10:51:04 +00:00
fpu.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
hwblk.c sh: hwblk index rework 2010-05-11 11:48:31 +09:00
init.c sh: Expose physical addressing mode through cpuinfo. 2010-10-26 14:44:58 +09:00
Makefile sh: fixup fpu.o compile order 2011-04-18 19:04:50 +09:00
proc.c sh: sh7372 SH4AL-DSP probe support 2011-01-13 15:20:40 +09:00