On Wednesday 02 March 2011 03:24 AM, Kevin Hilman wrote:
Rajendra Nayak<rnayak@xxxxxx> 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@xxxxxx>
---
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();
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html