mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
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 <[email protected]> Signed-off-by: Trinabh Gupta <[email protected]> Tested-by: Jean Pihet <[email protected]> Reviewed-by: Kevin Hilman <[email protected]> Acked-by: Arjan van de Ven <[email protected]> Acked-by: Kevin Hilman <[email protected]> Signed-off-by: Len Brown <[email protected]>
This commit is contained in:
parent
4202735e8a
commit
46bcfad7a8
16 changed files with 439 additions and 207 deletions
|
|
@ -329,6 +329,7 @@ extern void acpi_processor_throttling_init(void);
|
|||
int acpi_processor_power_init(struct acpi_processor *pr,
|
||||
struct acpi_device *device);
|
||||
int acpi_processor_cst_has_changed(struct acpi_processor *pr);
|
||||
int acpi_processor_hotplug(struct acpi_processor *pr);
|
||||
int acpi_processor_power_exit(struct acpi_processor *pr,
|
||||
struct acpi_device *device);
|
||||
int acpi_processor_suspend(struct acpi_device * device, pm_message_t state);
|
||||
|
|
|
|||
Loading…
Reference in a new issue