diff options
| author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-05-04 18:51:54 -0400 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-05-06 19:49:28 -0400 |
| commit | a6220fc19afc07fe77cfd16f5b8e568615517091 (patch) | |
| tree | 1f79cd9dc6610db3ca394dcd4f61a3b109d1069d /include/linux | |
| parent | bed4d597a0f99b380d24ab3a9da47b62cbf1ad0e (diff) | |
PM / suspend: Always use deepest C-state in the "freeze" sleep state
If freeze_enter() is called, we want to bypass the current cpuidle
governor and always use the deepest available (that is, not disabled)
C-state, because we want to save as much energy as reasonably possible
then and runtime latency constraints don't matter at that point, since
the system is in a sleep state anyway.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Aubrey Li <aubrey.li@linux.intel.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/cpuidle.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/cpuidle.h b/include/linux/cpuidle.h index a8d5bd391a26..c51a436135c4 100644 --- a/include/linux/cpuidle.h +++ b/include/linux/cpuidle.h | |||
| @@ -143,6 +143,7 @@ extern void cpuidle_resume(void); | |||
| 143 | extern int cpuidle_enable_device(struct cpuidle_device *dev); | 143 | extern int cpuidle_enable_device(struct cpuidle_device *dev); |
| 144 | extern void cpuidle_disable_device(struct cpuidle_device *dev); | 144 | extern void cpuidle_disable_device(struct cpuidle_device *dev); |
| 145 | extern int cpuidle_play_dead(void); | 145 | extern int cpuidle_play_dead(void); |
| 146 | extern void cpuidle_use_deepest_state(bool enable); | ||
| 146 | 147 | ||
| 147 | extern struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev); | 148 | extern struct cpuidle_driver *cpuidle_get_cpu_driver(struct cpuidle_device *dev); |
| 148 | #else | 149 | #else |
| @@ -175,6 +176,7 @@ static inline int cpuidle_enable_device(struct cpuidle_device *dev) | |||
| 175 | {return -ENODEV; } | 176 | {return -ENODEV; } |
| 176 | static inline void cpuidle_disable_device(struct cpuidle_device *dev) { } | 177 | static inline void cpuidle_disable_device(struct cpuidle_device *dev) { } |
| 177 | static inline int cpuidle_play_dead(void) {return -ENODEV; } | 178 | static inline int cpuidle_play_dead(void) {return -ENODEV; } |
| 179 | static inline void cpuidle_use_deepest_state(bool enable) {} | ||
| 178 | static inline struct cpuidle_driver *cpuidle_get_cpu_driver( | 180 | static inline struct cpuidle_driver *cpuidle_get_cpu_driver( |
| 179 | struct cpuidle_device *dev) {return NULL; } | 181 | struct cpuidle_device *dev) {return NULL; } |
| 180 | #endif | 182 | #endif |
