CONFIG_CPU_IDLE broken for N900
Hi,
When I enable CONFIG_CPU_IDLE and boot kernel, it hangs around the point when it switches to user space. I am able to reproduce this for 2.6.35 on linux-omap and linux-2.6 trees.
Has anyone else noticed the same thing for omap3 based boards?
Cheers,
Ameya.
Quoted 7 lines · Palande Ameya (Nokia-MS/Helsinki)
Hi,
When I enable
CONFIG_CPU_IDLEand boot kernel, it hangs around the point when it switches to user space. I am able to reproduce this for 2.6.35 on linux-omap and linux-2.6 trees.Has anyone else noticed the same thing for omap3 based boards?
Broken on linux-omap-pm as well!
Cheers,
Ameya.
Quoted 8 lines · On Tue, 10 Aug 2010 15:35:18 +0300 Ameya Palande <[email protected]>…
Quoted 5 lines
When I enable
CONFIG_CPU_IDLEand boot kernel, it hangs around the point when it switches to user space. I am able to reproduce this for 2.6.35 on linux-omap and linux-2.6 trees.Has anyone else noticed the same thing for omap3 based boards?
Broken on linux-omap-pm as well!
I'm able to reproduce with 2.6.35-rc1 but not with l-o head. It seems that the commit below fixes this.
commit c786bcf12e092802496f1bc440b2b189144612a5
Author: Kevin Hilman <[email protected]> Date: Thu Jun 3 17:13:22 2010 +0000
OMAP3: PM: fix IO daisy chain enable to use PM_WKEN reg
Signature · 1 line
Jarkko
Hi Jarkko,
Quoted 11 lines · ext Jarkko Nikula
Quoted 8 lines · On Tue, 10 Aug 2010 15:35:18 +0300 Ameya Palande <[email protected]>…
Quoted 5 lines
When I enable
CONFIG_CPU_IDLEand boot kernel, it hangs around the point when it switches to user space. I am able to reproduce this for 2.6.35 on linux-omap and linux-2.6 trees.Has anyone else noticed the same thing for omap3 based boards?
Broken on linux-omap-pm as well!
Quoted 8 lines
I'm able to reproduce with 2.6.35-rc1 but not with l-o head. It seems that the commit below fixes this.
commit
c786bcf12e092802496f1bc440b2b189144612a5Author: Kevin Hilman <[email protected]> Date: Thu Jun 3 17:13:22 2010 +0000OMAP3: PM: fix IO daisy chain enable to use
PM_WKENreg
Just tested it on linux-omap with omap3_defconfig and found that it is broken. When kernel bootup is complete, and it switches to user space, device hangs. When I disable CPU IDLE, it works..
Cheers,
Ameya.
Quoted 7 lines · On Tue, 10 Aug 2010 16:43:16 +0300 Ameya Palande <[email protected]>…
Quoted 7 lines
I'm able to reproduce with 2.6.35-rc1 but not with l-o head. It seems that the commit below fixes this.
commit
c786bcf12e092802496f1bc440b2b189144612a5Author: Kevin Hilman <[email protected]> Date: Thu Jun 3 17:13:22 2010 +0000
Quoted 6 lines
Quoted 1 line
OMAP3: PM: fix IO daisy chain enable to use
PM_WKENregJust tested it on linux-omap with
omap3_defconfigand found that it is broken. When kernel bootup is complete, and it switches to user space, device hangs. When I disable CPU IDLE, it works..
And I was too fast, problem is there in l-o head but it seems to hang in different places for me. Above commit removed "Wake up daisy chain activation failed." error that was slowing down the boot but this issue seems to be different.
I can boot up to Debian console login but system hangs during user space boot if I send something over serial. This happend with omap3_defconfig in l-o head using N900. However, the same kernel works fine on Beagle. Can this be some silicon dependent issue?
Signature · 1 line
Jarkko
Quoted 5 lines · Ameya Palande
When I enable
CONFIG_CPU_IDLEand boot kernel, it hangs around the point when it switches to user space. I am able to reproduce this for 2.6.35 on linux-omap and linux-2.6 trees.Has anyone else noticed the same thing for omap3 based boards?
I was able to reproduce on my n900 and found the problem. I believe this is the same problem that has been haunting the Overo folks in that their console (on UART2 like n900) was not responding after suspend.
The patch below fixes the problem for me, and will post an official version shortly.
Tested with l-o master (omap3_defconfig + CONFIG_CPU_IDLE=y) as well with current PM branch. PM branch (specifically pm-fixes sub-branch) has been updated to include this fix.
Kevin
arch/arm/mach-omap2/pm34xx.c +3 -1
@@ -480,7 +480,9 @@ void omap_sram_idle(void) }/* Disable IO-PAD and IO-CHAIN wakeup */ -if (omap3_has_io_wakeup () && core_next_state <PWRDM_POWER_ON ) { +if (omap3_has_io_wakeup () && + (per_next_state <PWRDM_POWER_ON || + core_next_state <PWRDM_POWER_ON )) {prm_clear_mod_reg_bits (OMAP3430_EN_IO_MASK ,WKUP_MOD ,PM_WKEN );omap3_disable_io_chain (); }
Signature · 1 line
1.7.2.1