linux/arch/arm/mach-at91
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
..
include/mach Merge branch 'at91/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-29 23:32:53 -07:00
at91cap9.c at91: factorize sram init 2011-07-28 15:07:29 +00:00
at91cap9_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91rm9200.c at91: factorize sram init 2011-07-28 15:07:29 +00:00
at91rm9200_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91rm9200_time.c ARM: AT91: update clock source registration 2010-12-19 15:44:53 +00:00
at91sam9_alt_reset.S AT91: reset routine cleanup, remove not needed icache flush 2010-10-26 11:32:48 +02:00
at91sam9g45.c at91: factorize sram init 2011-07-28 15:07:29 +00:00
at91sam9g45_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam9rl.c at91: factorize sram init 2011-07-28 15:07:29 +00:00
at91sam9rl_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam926x_time.c ARM: AT91: update clock source registration 2010-12-19 15:44:53 +00:00
at91sam9260.c at91: factorize sram init 2011-07-28 15:07:29 +00:00
at91sam9260_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam9261.c at91: at91sam9261.c: fix typo in t2_clk alias for atmel_tcb.0 2011-08-24 13:10:29 +02:00
at91sam9261_devices.c Merge branch 'master' into for-next 2011-07-11 14:15:55 +02:00
at91sam9263.c at91: factorize sram init 2011-07-28 15:07:29 +00:00
at91sam9263_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91x40.c at91: switch to CLKDEV_LOOKUP 2011-05-25 23:04:34 +08:00
at91x40_time.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
board-1arm.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-afeb-9260v1.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cam60.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cap9adk.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-carmeva.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cpu9krea.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cpuat91.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-csb337.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-csb637.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-eb01.c at91: fix map_io init usage 2011-05-25 23:04:34 +08:00
board-eb9200.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-ecbat91.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-eco920.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-flexibity.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-foxg20.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-gsia18s.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-kafa.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-kb9202.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-neocore926.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-pcontrol-g20.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-picotux200.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-qil-a9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-rm9200dk.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-rm9200ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9-l9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9g20ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9m10g45ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9rlek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9260ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9261ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9263ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-snapper9260.c Merge branch 'at91/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-29 23:32:53 -07:00
board-stamp9g20.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-usb-a9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-usb-a9263.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-yl-9200.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
clock.c at91: drop at572d940hf support 2011-05-25 23:04:35 +08:00
clock.h at91: switch to CLKDEV_LOOKUP 2011-05-25 23:04:34 +08:00
cpuidle.c cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
generic.h at91: factorize sram init 2011-07-28 15:07:29 +00:00
gpio.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
irq.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
Kconfig at91: drop at572d940hf support 2011-05-25 23:04:35 +08:00
leds.c [ARM] 5267/1: [AT91] Name conflict in mach-at91/leds.c 2008-09-29 15:46:26 +01:00
Makefile at91: introduce commom AT91_BASE_SYS 2011-07-28 15:07:28 +00:00
Makefile.boot [ARM] 5572/1: at91: Support for at91sam9g45 series: core chip & board support 2009-06-27 11:05:22 +01:00
pm.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
pm.h AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
pm_slowclock.S AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
sam9_smc.c [ARM] 5287/2: [AT91] Configuration of Static Memory Controller 2008-12-01 17:18:08 +00:00
sam9_smc.h [ARM] 5287/2: [AT91] Configuration of Static Memory Controller 2008-12-01 17:18:08 +00:00
setup.c at91: add arch specific ioremap support 2011-07-28 15:09:26 +00:00
soc.h at91: move register clocks to soc generic init 2011-07-28 15:07:29 +00:00