From: Daniel Lezcano <daniel.lezcano@linaro.org>
To: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Cc: linux-pm@lists.linux-foundation.org,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] cpuidle/powernv: Enable idle powernv cpu to call into the cpuidle framework.
Date: Mon, 29 Jul 2013 16:44:46 +0200 [thread overview]
Message-ID: <51F67FDE.6070902@linaro.org> (raw)
In-Reply-To: <51F67BE5.10701@linux.vnet.ibm.com>
On 07/29/2013 04:27 PM, Deepthi Dharwar wrote:
> On 07/27/2013 10:59 AM, Daniel Lezcano wrote:
>> On 07/23/2013 11:01 AM, Deepthi Dharwar wrote:
>>> This patch enables idle powernv cpu to hook on to the cpuidle
>>> framework, if available, else call on to default idle platform
>>> code.
>>
>> Why do you need to do that ?
>>
>
> Hi Daniel,
>
> Well, this is needed in case when one does not compile with CPU_IDLE
> config option.
>
> When CPUIDLE is not configured, idle cpus are needed to be running some
> sort of default idle code or loop ( in the worst case) if cpuidle driver
> is not registered or if one decides not to have that config enabled.
Hi Deepthi,
ok may be there is some difference with the other platform but the
arch_cpu_idle function defined in the other archs do:
void arch_cpu_idle(void)
{
if (cpuidle_idle_call())
x86_idle();
else
local_irq_enable();
}
or
void arch_cpu_idle(void)
{
if (cpuidle_idle_call())
default_idle();
}
When the cpuidle driver is not compiled or not loaded, cpuidle_idle_call
fails, falling back to the default idle function.
The arch_cpu_idle function is called from the generic code in
kernel/cpu/idle.c.
Is there a particular reason to do it in a different way ?
Thanks
-- Daniel
>>
>>> Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
>>> ---
>>> arch/powerpc/platforms/powernv/setup.c | 12 +++++++++++-
>>> 1 file changed, 11 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c
>>> index 84438af..97d0951 100644
>>> --- a/arch/powerpc/platforms/powernv/setup.c
>>> +++ b/arch/powerpc/platforms/powernv/setup.c
>>> @@ -25,6 +25,7 @@
>>> #include <linux/of.h>
>>> #include <linux/interrupt.h>
>>> #include <linux/bug.h>
>>> +#include <linux/cpuidle.h>
>>>
>>> #include <asm/machdep.h>
>>> #include <asm/firmware.h>
>>> @@ -196,6 +197,15 @@ static int __init pnv_probe(void)
>>> return 1;
>>> }
>>>
>>> +void powernv_idle(void)
>>> +{
>>> + /* Hook to cpuidle framework if available, else
>>> + * call on default platform idle code
>>> + */
>>> + if (cpuidle_idle_call())
>>> + power7_idle();
>>> +}
>>> +
>>> define_machine(powernv) {
>>> .name = "PowerNV",
>>> .probe = pnv_probe,
>>> @@ -205,7 +215,7 @@ define_machine(powernv) {
>>> .show_cpuinfo = pnv_show_cpuinfo,
>>> .progress = pnv_progress,
>>> .machine_shutdown = pnv_shutdown,
>>> - .power_save = power7_idle,
>>> + .power_save = powernv_idle,
>>> .calibrate_decr = generic_calibrate_decr,
>>> #ifdef CONFIG_KEXEC
>>> .kexec_cpu_down = pnv_kexec_cpu_down,
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at http://www.tux.org/lkml/
>>>
>>
>>
>
--
<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
next prev parent reply other threads:[~2013-07-29 14:44 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-23 9:01 [PATCH 0/3] cpuidle: (powernv) cpuidle driver Deepthi Dharwar
2013-07-23 9:01 ` Deepthi Dharwar
2013-07-23 9:01 ` [PATCH 1/3] cpuidle/powernv: cpuidle backend driver for powernv Deepthi Dharwar
2013-07-23 9:01 ` Deepthi Dharwar
2013-07-23 14:06 ` Michael Ellerman
2013-07-23 14:06 ` Michael Ellerman
2013-07-24 9:58 ` Deepthi Dharwar
2013-07-24 9:58 ` Deepthi Dharwar
2013-07-27 5:27 ` [linux-pm] " Daniel Lezcano
2013-07-27 5:27 ` Daniel Lezcano
2013-07-29 14:39 ` Deepthi Dharwar
2013-07-29 14:39 ` Deepthi Dharwar
2013-07-29 14:53 ` Daniel Lezcano
2013-07-29 14:53 ` Daniel Lezcano
2013-07-30 3:51 ` Deepthi Dharwar
2013-08-02 10:32 ` Preeti U Murthy
2013-07-23 9:01 ` [PATCH 2/3] cpuidle/powernv: Enable idle powernv cpu to call into the cpuidle framework Deepthi Dharwar
2013-07-23 9:01 ` Deepthi Dharwar
2013-07-27 5:29 ` Daniel Lezcano
2013-07-27 5:29 ` Daniel Lezcano
2013-07-29 14:27 ` Deepthi Dharwar
2013-07-29 14:44 ` Daniel Lezcano [this message]
2013-07-30 3:50 ` Deepthi Dharwar
2013-07-23 9:02 ` [PATCH 3/3] cpuidle/powernv: Support smt-snooze-delay parameter in powernv idle Deepthi Dharwar
2013-07-23 9:02 ` Deepthi Dharwar
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=51F67FDE.6070902@linaro.org \
--to=daniel.lezcano@linaro.org \
--cc=deepthi@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linuxppc-dev@lists.ozlabs.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.