linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Santosh Shilimkar <santosh.shilimkar@ti.com>
Cc: rjw@sisk.pl, linaro-kernel@lists.linaro.org,
	linux-pm@vger.kernel.org, patches@linaro.org, lenb@kernel.org,
	linus.walleij@linaro.org, rnayak@ti.com, kernel@pengutronix.de,
	tglx@linutronix.de
Subject: Re: [PATCH 1/4][resend] cpuidle : handle clockevent notify from the cpuidle framework
Date: Thu, 21 Mar 2013 14:52:44 +0100	[thread overview]
Message-ID: <514B10AC.9090909@linaro.org> (raw)
In-Reply-To: <514B0417.6020401@ti.com>

On 03/21/2013 01:59 PM, Santosh Shilimkar wrote:
> On Thursday 21 March 2013 05:51 PM, Daniel Lezcano wrote:
>> When a cpu enters a deep idle state, the local timers are stopped and
>> the time framework falls back to the timer device used as a broadcast
>> timer.
>>
>> The different cpuidle drivers are calling clockevents_notify ENTER/EXIT
>> when the idle state stops the local timer.
>>
>> Add a new flag CPUIDLE_FLAG_TIMER_STOP which can be set by the cpuidle
>> drivers. If the flag is set, the cpuidle core code takes care of the
>> notification on behalf of the driver to avoid pointless code duplication.
>>
>> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Len Brown <lenb@kernel.org>
>> Cc: Linus Walleij <linus.walleij@linaro.org>
>> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
>> Cc: Rajendra Nayak <rnayak@ti.com>
>> Cc: Sascha Hauer <kernel@pengutronix.de>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> ---
>>  drivers/cpuidle/cpuidle.c |    9 +++++++++
>>  include/linux/cpuidle.h   |    1 +
>>  2 files changed, 10 insertions(+)
>>
>> diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
>> index eba6929..c500370 100644
>> --- a/drivers/cpuidle/cpuidle.c
>> +++ b/drivers/cpuidle/cpuidle.c
>> @@ -8,6 +8,7 @@
>>   * This code is licenced under the GPL.
>>   */
>>  
>> +#include <linux/clockchips.h>
>>  #include <linux/kernel.h>
>>  #include <linux/mutex.h>
>>  #include <linux/sched.h>
>> @@ -146,12 +147,20 @@ int cpuidle_idle_call(void)
>>  
>>  	trace_cpu_idle_rcuidle(next_state, dev->cpu);
>>  
>> +	if (drv->states[next_state].flags & CPUIDLE_FLAG_TIMER_STOP)
>> +		clockevents_notify(CLOCK_EVT_NOTIFY_BROADCAST_ENTER,
>> +				   &dev->cpu);
>> +
> Seems like good clean-up from drivers.
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
> 
> How about taking care of cpu_pm_notifiers() as well with some
> additional flag for CPU and cluster power state. That can help
> to reduce and consolidate the code. What you say ?

Do you mean add a flag for different level of idle (idle, suspend, power
off) and then use the cpu_pm_enter/cpu_cluster_pm_enter in all the
drivers as a common framework ?

-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog


  reply	other threads:[~2013-03-21 13:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-21 12:21 [PATCH 1/4][resend] cpuidle : handle clockevent notify from the cpuidle framework Daniel Lezcano
2013-03-21 12:21 ` [PATCH 2/4] cpuidle / omap4 : use CPUIDLE_FLAG_TIMER_STOP flag Daniel Lezcano
2013-03-21 13:01   ` Santosh Shilimkar
2013-03-21 13:05     ` Santosh Shilimkar
2013-03-21 13:14       ` Daniel Lezcano
2013-03-21 13:21         ` Santosh Shilimkar
2013-03-22 17:05   ` Kevin Hilman
2013-03-21 12:21 ` [PATCH 3/4] cpuidle / imx6 " Daniel Lezcano
2013-03-21 13:03   ` Santosh Shilimkar
2013-03-21 12:21 ` [PATCH 4/4] cpuidle / ux500 " Daniel Lezcano
2013-03-21 12:59 ` [PATCH 1/4][resend] cpuidle : handle clockevent notify from the cpuidle framework Santosh Shilimkar
2013-03-21 13:52   ` Daniel Lezcano [this message]
2013-03-21 14:04     ` Santosh Shilimkar
2013-03-21 14:41       ` Daniel Lezcano
2013-03-21 14:52         ` Santosh Shilimkar
2013-03-21 15:25           ` Lorenzo Pieralisi
2013-03-26  8:41             ` Santosh Shilimkar
2013-03-21 13:54   ` Daniel Lezcano
2013-03-22  0:41 ` Rafael J. Wysocki
2013-03-22 17:04 ` Kevin Hilman

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=514B10AC.9090909@linaro.org \
    --to=daniel.lezcano@linaro.org \
    --cc=kernel@pengutronix.de \
    --cc=lenb@kernel.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=patches@linaro.org \
    --cc=rjw@sisk.pl \
    --cc=rnayak@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=tglx@linutronix.de \
    /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).