[PATCH] OMAP2+: PM: Warn users of sleep_while_idle if !CONFIG_CPU_IDLE

Rajendra Nayak rnayak at ti.com
Thu Mar 3 04:32:15 EST 2011


On Wednesday 02 March 2011 03:24 AM, Kevin Hilman wrote:
> Rajendra Nayak<rnayak at ti.com>  writes:
>
>> This should help users who do a
>> 'echo 1>  /debug/pm_debug/sleep_while_idle' with a
>> config which has !CONFIG_CPU_IDLE and wonder
>> why OMAP is'nt sleeping in idle.
>
> This isn't quite right, as 'sleep_while_idle' is actually a flag for
> whether or not to call omap_sram_idle() at all.

Hi Kevin,

I know this is used in 'omap3_pm_idle' as well
to decide whether or not to call omap_sram_idle() but
I was'nt quite sure what omap3_pm_idle is expected to do
in the first place.
We end up calling omap_sram_idle here without really
programming any target state. Do we really need this to
happen, instead can't we just rely on ARM generic code
to do a WFI in case we don't have cpuidle support enabled?

regards,
Rajendra

>
> Even without CPUidle, WFI will still be attempted.
>
> Kevin
>
>> Signed-off-by: Rajendra Nayak<rnayak at ti.com>
>> ---
>>   arch/arm/mach-omap2/pm-debug.c |    9 +++++++++
>>   1 files changed, 9 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
>> index 125f565..1e722a0 100644
>> --- a/arch/arm/mach-omap2/pm-debug.c
>> +++ b/arch/arm/mach-omap2/pm-debug.c
>> @@ -569,6 +569,10 @@ static int option_get(void *data, u64 *val)
>>
>>   	*val = *option;
>>
>> +#ifndef CONFIG_CPU_IDLE
>> +	if (option ==&sleep_while_idle)
>> +		pr_warn("CONFIG_CPU_IDLE is not enabled\n");
>> +#endif
>>   	return 0;
>>   }
>>
>> @@ -581,6 +585,11 @@ static int option_set(void *data, u64 val)
>>
>>   	*option = val;
>>
>> +#ifndef CONFIG_CPU_IDLE
>> +	if (option ==&sleep_while_idle)
>> +		pr_warn("CONFIG_CPU_IDLE is not enabled\n");
>> +#endif
>> +
>>   	if (option ==&enable_off_mode) {
>>   		if (val)
>>   			omap_pm_enable_off_mode();




More information about the linux-arm-kernel mailing list