diff mbox

[PATCH/RFC,1/4] OMAP3: PM debug: remove sleep_while_idle feature

Message ID 1306450971-27732-2-git-send-email-khilman@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kevin Hilman May 26, 2011, 11:02 p.m. UTC
Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
currently available as an OMAP-specific debugfs entry.

This duplicates existing ARM-generic functionality available as a
boot-time option using the boot cmdline option 'hohlt'.

If runtime configuration of this is needed, then adding a debugfs
entry for the ARM-generic hlt/nohlt interface should be added.

Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/pm-debug.c |    3 ---
 arch/arm/mach-omap2/pm.h       |    2 --
 arch/arm/mach-omap2/pm34xx.c   |    2 --
 3 files changed, 0 insertions(+), 7 deletions(-)

Comments

Jean Pihet May 27, 2011, 7:37 a.m. UTC | #1
On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
> currently available as an OMAP-specific debugfs entry.
>
> This duplicates existing ARM-generic functionality available as a
> boot-time option using the boot cmdline option 'hohlt'.
'nohlt' is only for the default arch idle handler (pm_idle). It does
not apply to the cpuidle handler (omap3_enter_idle) which depends on
CONFIG_CPU_IDLE.

> If runtime configuration of this is needed, then adding a debugfs
> entry for the ARM-generic hlt/nohlt interface should be added.
Is there a need for it?

Regards,
Jean
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kevin Hilman May 27, 2011, 3:26 p.m. UTC | #2
Jean Pihet <jean.pihet@newoldbits.com> writes:

> On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
>> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
>> currently available as an OMAP-specific debugfs entry.
>>
>> This duplicates existing ARM-generic functionality available as a
>> boot-time option using the boot cmdline option 'hohlt'.
> 'nohlt' is only for the default arch idle handler (pm_idle). It does
> not apply to the cpuidle handler (omap3_enter_idle) which depends on
> CONFIG_CPU_IDLE.

AFAICT, it affects CPUidle also, since CPUidle replaces pm_idle, which
is protected by the hlt_counter check.

I think the CPUidle folks are looking for a way to replace using
pm_idle though.  After that happens, there are a couple options.  1) add
a check for hlt_counter in the CPUidle path, or 2) just disable CPUidle
at Kconfig level.

>> If runtime configuration of this is needed, then adding a debugfs
>> entry for the ARM-generic hlt/nohlt interface should be added.
> Is there a need for it?

I don't think so.    But my point was that if anyone wants this feature
back, this would be the way to add it.

Kevin

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jean Pihet May 27, 2011, 4:01 p.m. UTC | #3
On Fri, May 27, 2011 at 5:26 PM, Kevin Hilman <khilman@ti.com> wrote:
> Jean Pihet <jean.pihet@newoldbits.com> writes:
>
>> On Fri, May 27, 2011 at 1:02 AM, Kevin Hilman <khilman@ti.com> wrote:
>>> Remove the OMAP-specific PM debug 'sleep_while_idle' feature which is
>>> currently available as an OMAP-specific debugfs entry.
>>>
>>> This duplicates existing ARM-generic functionality available as a
>>> boot-time option using the boot cmdline option 'hohlt'.
>> 'nohlt' is only for the default arch idle handler (pm_idle). It does
>> not apply to the cpuidle handler (omap3_enter_idle) which depends on
>> CONFIG_CPU_IDLE.
>
> AFAICT, it affects CPUidle also, since CPUidle replaces pm_idle, which
> is protected by the hlt_counter check.
That is correct, please ignore my comment.

> I think the CPUidle folks are looking for a way to replace using
> pm_idle though.  After that happens, there are a couple options.  1) add
> a check for hlt_counter in the CPUidle path, or 2) just disable CPUidle
> at Kconfig level.
1) makes sense if the kernel parameter is used to enable/disable idle.

>
>>> If runtime configuration of this is needed, then adding a debugfs
>>> entry for the ARM-generic hlt/nohlt interface should be added.
>> Is there a need for it?
>
> I don't think so.    But my point was that if anyone wants this feature
> back, this would be the way to add it.
>
> Kevin
>
>

Jean
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
index a5a83b3..cf9bc15 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -40,7 +40,6 @@ 
 
 int omap2_pm_debug;
 u32 enable_off_mode;
-u32 sleep_while_idle;
 u32 wakeup_timer_seconds;
 u32 wakeup_timer_milliseconds;
 
@@ -639,8 +638,6 @@  static int __init pm_dbg_init(void)
 
 	(void) debugfs_create_file("enable_off_mode", S_IRUGO | S_IWUSR, d,
 				   &enable_off_mode, &pm_dbg_option_fops);
-	(void) debugfs_create_file("sleep_while_idle", S_IRUGO | S_IWUSR, d,
-				   &sleep_while_idle, &pm_dbg_option_fops);
 	(void) debugfs_create_file("wakeup_timer_seconds", S_IRUGO | S_IWUSR, d,
 				   &wakeup_timer_seconds, &pm_dbg_option_fops);
 	(void) debugfs_create_file("wakeup_timer_milliseconds",
diff --git a/arch/arm/mach-omap2/pm.h b/arch/arm/mach-omap2/pm.h
index 797bfd1..fc2377c 100644
--- a/arch/arm/mach-omap2/pm.h
+++ b/arch/arm/mach-omap2/pm.h
@@ -64,13 +64,11 @@  extern void omap2_pm_dump(int mode, int resume, unsigned int us);
 extern void omap2_pm_wakeup_on_timer(u32 seconds, u32 milliseconds);
 extern int omap2_pm_debug;
 extern u32 enable_off_mode;
-extern u32 sleep_while_idle;
 #else
 #define omap2_pm_dump(mode, resume, us)		do {} while (0);
 #define omap2_pm_wakeup_on_timer(seconds, milliseconds)	do {} while (0);
 #define omap2_pm_debug				0
 #define enable_off_mode 0
-#define sleep_while_idle 0
 #endif
 
 #if defined(CONFIG_CPU_IDLE)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 0c5e3a4..991ade6 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -497,8 +497,6 @@  console_still_active:
 
 int omap3_can_sleep(void)
 {
-	if (!sleep_while_idle)
-		return 0;
 	if (!omap_uart_can_sleep())
 		return 0;
 	return 1;