From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: [PATCH V2 2/2] cpufreq: Change freq before suspending governors Date: Fri, 22 Nov 2013 12:39:24 -0700 Message-ID: <528FB2EC.2020202@wwwdotorg.org> References: <2783049.JzUB2QcsZz@vostro.rjw.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from avon.wwwdotorg.org ([70.85.31.133]:58787 "EHLO avon.wwwdotorg.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932110Ab3KVTpT (ORCPT ); Fri, 22 Nov 2013 14:45:19 -0500 In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: Viresh Kumar , "Rafael J. Wysocki" , Stephen Warren , Kukjin Kim , Amit Daniel Kachhap , Sachin Kamat Cc: Lists linaro-kernel , Patch Tracking , "cpufreq@vger.kernel.org" , "linux-pm@vger.kernel.org" , Linux Kernel Mailing List , Lan Tianyu , Nishanth Menon , jinchoi@broadcom.com, Sebastian Capella , Peter De Schrijver On 11/22/2013 05:52 AM, Viresh Kumar wrote: > On 22 November 2013 18:07, Rafael J. Wysocki 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 >> >> 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.