Re: [PATCH V2 2/2] cpufreq: Change freq before suspending governors
From: Stephen Warren
Date: Fri Nov 22 2013 - 14:45:31 EST
On 11/22/2013 05:52 AM, Viresh Kumar wrote:
> On 22 November 2013 18:07, Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:
>> On Friday, November 22, 2013 04:59:49 PM Viresh Kumar wrote:
>>> Some platforms might want to change frequency before suspending governors. Like:
>>> - Some platform which want to set freq to max to speed up suspend/hibernation
>>> process.
>>> - Some platform (like: Tegra or exynos), set this to min or bootloader's
>>> frequency.
>>>
>>> This patch adds an option for those, so that they can specify this at call to
>>> ->init(), so that cpufreq core can take care of this before suspending system.
>>>
>>> If this variable is not updated by ->init() then its value would be zero and so
>>> core wouldn't do anything.
>>>
>>> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
>>
>> I don't think this is generally necessary, because the suspend/resume routines
>> added by patch [1/2] will be executed very late during suspend or very early
>> during resume and it shouldn't really matter what performance levels the CPUs
>> are at then.
>
> There are few things here:
> - I feel that the current place from where we have suspended stuff is not gonna
> fly. We are doing that in noirq and probably devices which might be required
> during frequency transitions might already be down.. So we *may* need to
> move that in dpm_suspend()..
> - Secondly I want to understand why Tegra/Exynos has such code which I
> mentioned above..
>
> @Stephen, Kukjin and other samsung folks: Please provide some input here,
> before your systems break in mainline :)
I believe we set the clock to a low value because fast clocks consume
more power. Tegra architecturally supports a number of different suspend
levels. Only some of those actually power off or gate the clock source
itself.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/