On 17 February 2014 14:55, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > This patchset creates/calls cpufreq suspend/resume callbacks from dpm_{suspend|resume}() > for handling suspend/resume of cpufreq governors and core. > > There are multiple problems that are fixed by this patch: > - Nishanth Menon (TI) found an interesting problem on his platform, OMAP. His board > wasn't working well with suspend/resume as calls for removing non-boot CPUs > was turning out into a call to drivers ->target() which then tries to play > with regulators. But regulators and their I2C bus were already suspended and > this resulted in a failure. Many platforms have such problems, samsung, tegra, > etc.. They solved it with driver specific PM notifiers where they used to > disable their driver's ->target() routine. > - Lan Tianyu (Intel) & Jinhyuk Choi (Broadcom) found an 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. > > This is already tested by few people and so incorporating their Tested-by as > well. > > I have tested this again on latest stuff on my thinkpad for several > suspend/resume cycles. > > V6->V7: > - Fixed crash reported by S.Warren on systems without a cpufreq driver. > - Moved some function doc-comments to patch 1 from a later patch. > > For-v3.15 > > Viresh Kumar (7): > cpufreq: suspend governors on system suspend/hibernate > cpufreq: suspend governors from dpm_{suspend|resume}() > cpufreq: call driver's suspend/resume for each policy > cpufreq: Implement cpufreq_generic_suspend() > cpufreq: exynos: Use cpufreq_generic_suspend() > cpufreq: s5pv210: Use cpufreq_generic_suspend() > cpufreq: Tegra: Use cpufreq_generic_suspend() > > drivers/base/power/main.c | 5 ++ > drivers/cpufreq/cpufreq.c | 137 +++++++++++++++++++++++--------------- > drivers/cpufreq/exynos-cpufreq.c | 96 ++------------------------ > drivers/cpufreq/s5pv210-cpufreq.c | 49 +------------- > drivers/cpufreq/tegra-cpufreq.c | 46 ++----------- > include/linux/cpufreq.h | 11 +++ > 6 files changed, 113 insertions(+), 231 deletions(-) Hi Rafael, I think this patch is good to go now for 3.15? -- viresh -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html