From: Lan Tianyu <tianyu.lan@intel.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: rjw@rjwysocki.net, linaro-kernel@lists.linaro.org,
patches@linaro.org, cpufreq@vger.kernel.org,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
nm@ti.com, swarren@wwwdotorg.org, kgene.kim@samsung.com,
linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org,
jinchoi@broadcom.com, sebastian.capella@linaro.org,
jhbird.choi@samsung.com
Subject: Re: [PATCH V3 0/6] cpufreq: suspend early/resume late
Date: Tue, 26 Nov 2013 14:37:43 +0800 [thread overview]
Message-ID: <529441B7.90505@intel.com> (raw)
In-Reply-To: <cover.1385374819.git.viresh.kumar@linaro.org>
On 2013年11月25日 22:11, Viresh Kumar wrote:
> This patchset adds cpufreq callbacks to dpm_{suspend|resume}() for handling
> suspend/resume of cpufreq governors and core. This is required for early suspend
> and late resume of governors and cpufreq 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. Most of these are updated in this
> patchset to use new infrastructure.
>
> - Lan Tianyu (Intel) & Jinhyuk Choi (Broadcom) found another 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 also fixed with this patch as don't
> allow any operation on Governors during suspend/resume now.
>
>
> So to solve these issues we introduce early suspend and late resume callbacks
> which would remove need of cpufreq drivers to implement PM notifiers to disable
> transition after suspend and before resume.
>
> @Nishanth: Can you please test V2 as well and confirm that suspend_noirq()
> doesn't work for you. I am sure it will not, but would be better if you confirm
> that.
>
> Viresh Kumar (6):
> cpufreq: suspend governors on system suspend/hibernate
> 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()
>
Patch 1-2,
Tested-by: Lan Tianyu <tianyu.lan@intel.com>
> drivers/base/power/main.c | 5 ++
> drivers/cpufreq/cpufreq.c | 133 +++++++++++++++++++++-----------------
> drivers/cpufreq/exynos-cpufreq.c | 97 ++-------------------------
> drivers/cpufreq/s5pv210-cpufreq.c | 49 +-------------
> drivers/cpufreq/tegra-cpufreq.c | 54 ++--------------
> include/linux/cpufreq.h | 6 ++
> 6 files changed, 99 insertions(+), 245 deletions(-)
>
--
Best regards
Tianyu Lan
prev parent reply other threads:[~2013-11-26 6:37 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-25 14:11 [PATCH V3 0/6] cpufreq: suspend early/resume late Viresh Kumar
2013-11-25 14:11 ` [PATCH V3 1/6] cpufreq: suspend governors on system suspend/hibernate Viresh Kumar
2013-11-25 23:29 ` Rafael J. Wysocki
2013-11-26 2:26 ` Viresh Kumar
[not found] ` <CAKohpok0E=m=63KXM22usiW7Rsu59cD7Q=+k3tRcW=8269tZnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-11-26 20:23 ` Rafael J. Wysocki
2013-11-27 1:42 ` Rafael J. Wysocki
2013-11-27 3:07 ` Viresh Kumar
2013-11-27 7:08 ` Lan Tianyu
2013-11-27 7:39 ` Viresh Kumar
2013-11-27 3:13 ` Viresh Kumar
[not found] ` <55cc3fbf9c553d669629e8ba98eef2b0ef33aaad.1385374822.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-11-26 4:12 ` viresh kumar
[not found] ` <cover.1385374819.git.viresh.kumar-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2013-11-25 14:11 ` [PATCH V3 2/6] cpufreq: call driver's suspend/resume for each policy Viresh Kumar
2013-11-25 14:11 ` [PATCH V3 3/6] cpufreq: Implement cpufreq_generic_suspend() Viresh Kumar
2013-11-25 14:11 ` [PATCH V3 4/6] cpufreq: exynos: Use cpufreq_generic_suspend() Viresh Kumar
2013-11-25 14:11 ` [PATCH V3 5/6] cpufreq: s5pv210: " Viresh Kumar
2013-11-25 14:11 ` [PATCH V3 6/6] cpufreq: Tegra: " Viresh Kumar
2013-11-25 19:29 ` [PATCH V3 0/6] cpufreq: suspend early/resume late Stephen Warren
2013-11-25 21:37 ` Nishanth Menon
2013-11-26 6:37 ` Lan Tianyu [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=529441B7.90505@intel.com \
--to=tianyu.lan@intel.com \
--cc=cpufreq@vger.kernel.org \
--cc=jhbird.choi@samsung.com \
--cc=jinchoi@broadcom.com \
--cc=kgene.kim@samsung.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=nm@ti.com \
--cc=patches@linaro.org \
--cc=rjw@rjwysocki.net \
--cc=sebastian.capella@linaro.org \
--cc=swarren@wwwdotorg.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).