cpufreq: suspend governors on system suspend/hibernate
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 27 Nov 2013 03:39:42 +0000 (09:09 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 28 Nov 2013 13:47:31 +0000 (14:47 +0100)
commit5a87182aa21d6d5d306840feab9321818dd3e2a3
tree86ead8ebc52067f57ec2f78271fa5dbe9c58e066
parent3d3c6f54bccf0a621682d17e25cf22895a0c6e5a
cpufreq: suspend governors on system suspend/hibernate

This patch adds cpufreq suspend/resume calls to dpm_{suspend|resume}_noirq()
for handling suspend/resume of cpufreq governors.

Lan Tianyu (Intel) & Jinhyuk Choi (Broadcom) found anr issue where
tunables configuration for clusters/sockets with non-boot CPUs was
getting lost after suspend/resume, as we were notifying governors
with CPUFREQ_GOV_POLICY_EXIT on removal of the last cpu for that
policy and so deallocating memory for tunables. This is fixed by
this patch as we don't allow any operation on governors after
device suspend and before device resume now.

Reported-and-tested-by: Lan Tianyu <tianyu.lan@intel.com>
Reported-by: Jinhyuk Choi <jinchoi@broadcom.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[rjw: Changelog, minor cleanups]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/main.c
drivers/cpufreq/cpufreq.c
include/linux/cpufreq.h