RE: [PATCHv12 0/9] OMAP3+: PRCM chain handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 10, 2012 at 20:43:33, Hilman, Kevin wrote:
> "Bedia, Vaibhav" <vaibhav.bedia@xxxxxx> writes:
> 
> > Hi Kevin,
> >
> > On Tue, Jan 10, 2012 at 06:49:52, Hilman, Kevin wrote:
> > [...]
> >> >
> >> > 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 in 
> >> > omap3xxx_prcm_init() to bypass the chain handler registration.
> >> 
> >> > Without such a check we were seeing a crash in USB since USB_CLKCTRL on 
> >> > AM33XX just happens to be at the IRQENABLE_MPU_OFFSET of 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
> >> 
> >> 
> >> 
> >> diff --git a/arch/arm/mach-omap2/prm2xxx_3xxx.c b/arch/arm/mach-omap2/prm2xxx_3xxx.c
> >> index c1c4d86..87451d9 100644
> >> --- a/arch/arm/mach-omap2/prm2xxx_3xxx.c
> >> +++ b/arch/arm/mach-omap2/prm2xxx_3xxx.c
> >> @@ -302,7 +302,7 @@ void omap3xxx_prm_restore_irqen(u32 *saved_mask)
> >>  
> >>  static 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.
> 

I guess my question was misunderstood. My question was regarding your proposed
patch. If omap3_has_io_wakeup() is sufficient to decide whether or not to
register the chain handler is there still a need for cpu_is_omap34xx()?

Regards,
Vaibhav
--
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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux