OMAP3+: PRCM chain handler
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v12 Latest posting 2/20 of 9 patches 0 repliesNew
- v12 posting 1/20 of 9 patches 0 repliesSuperseded
- v110 of 8 patches 0 repliesSuperseded
Patches in v12 posting 2/2 No applies recorded yet
None of the 9 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v12 yet.
Cover letter [PATCHv12 0/9] OMAP3+: PRCM chain handler
Quoted 31 lines · Vaibhav
Hi Kevin,
On Tue, Jan 10, 2012 at 06:49:52, Hilman, Kevin wrote:
[...]Quoted 27 lines
Quoted 8 lines
1. IO and wakeup events are not supported on AM33XX. Since
cpu_is_34xx()holds true for AM33XX I ended up adding a !cpu_is_am33xx() check inomap3xxx_prcm_init()to bypass the chain handler registration.Without such a check we were seeing a crash in USB since
USB_CLKCTRLon AM33XX just happens to be at theIRQENABLE_MPU_OFFSETof OMAP3. Hope such cpu_is_*() checks are acceptable.We try to avoid them, especially when we already have existing feature flag for IO wakeups.
Does something like (completely untested) patch below work for you?
Of course, that implies that that feature flag is initialized correctly for AM33xx.
Kevin
arch/arm/mach-omap2/prm2xxx_3xxx.c +0
-0@@ -302,7 +302,7 @@ void omap3xxx_prm_restore_irqen(u32 *saved_mask)
Quoted 12 lines
arch/arm/mach-omap2/prm2xxx_3xxx.c void omap3xxx_prm_restore_irqen(u32 *saved_mask) · line 308
Quoted 8 lines
arch/arm/mach-omap2/prm2xxx_3xxx.c +1
-1static int __init omap3xxx_prcm_init (void ) { -if (cpu_is_omap34xx ()) +if (cpu_is_omap34xx () &&omap3_has_io_wakeup ())return omap_prcm_register_chain_handler (&omap3_prcm_irq_setup);return 0 ; }I'll try this out once we have feature flag initialized on AM33xx. Can the
cpu_is_omap34xx()check be completely dropped in that case? Or is there some other reason for retaining it?
The reason it is there is because that function is called from an initcall. By default, the kernel builds in support for OMAP2/3/4, so that initcall will get called on every SoC. Since it should only happen for OMAP3, the cpu_is_ check is used.
Kevin