[PATCH 1/3] ARM: OMAP2+: 32k-counter: Use hwmod lookup to check presence of 32k timer

Hiremath, Vaibhav hvaibhav at ti.com
Tue Apr 10 01:42:54 EDT 2012


On Tue, Apr 10, 2012 at 01:48:22, Hunter, Jon wrote:
> Hi Vaibhav,
> 
> On 04/09/2012 01:19 AM, Hiremath, Vaibhav wrote:
> 
> [...]
> 
> > Let me summarize it here again,
> >
> > Currently, the timer code is using config option CONFIG_OMAP_32K_TIMER,
> > to choose between 32ksync counter and gptimer; it is compile time option.
> > If user wants to use gptimer for HR ticks, he must build the kernel without
> > CONFIG_OMAP_32K_TIMER option.
> >
> > AM335x family of devices doesn't have 32ksync_counter available, only option
> > here is to use gptimer for kernel clocksource and clockevents.
> >
> > So in order to support, multi-omap build including devices like AM335x, we
> > must get rid of this option CONFIG_OMAP_32K_TIMER, atleast from clocksource
> > registration perspective.
> >
> > So that means, we need to have some mechanism to handle or detect available
> > clocksource runtime. Options would be,
> >
> >   - Use HWMOD to detect availability of 32ksync_counter, else fallback
> >     to gptimer. [This was my original patch]
> >
> >     But this restricts the use of gptimer completely on omap architecture,
> >     where we have 32ksync counter module.
> 
> True, but we would always want to use the 32k timer if CONFIG_PM is 
> specified. So what I am saying is that if a device has a 32ksync timer 
> and CONFIG_PM is defined, we always want to use the 32ksync timer and a 
> gptimer should never be used.
> 
> So we should/must restrict the use of a gptimer is CONFIG_PM is enabled 
> for devices that have the 32ksync timer.
> 
> >   - So the next solution is to still keep compile time option, so that user
> >     will get to use gptimer atleast just changing the kernel config option.
> >
> >     But, still, this is going to be kernel rebuild.
> >
> >   - Next option came up was, register both the timers and override using
> >     kernel parameter.
> >
> >     This will work only if, both the timers run at same rate/frequency; since
> >     we have one more layer here setup_sched_clock(), which actually can be
> >     called only once.
> >
> >   - Next option suggested by Santosh, is to use kernel parameter as in parse
> >     it early, to make decision on if user wants to override default
> >     clocksource (32ksync)
> >
> >     This is something will work for us and solves all above issues.
> 
> What happens if PM is enabled? Can you still override the default? I 
> don't think this should be allowed for devices with a 32ksync timer.
> 

If user is overriding it explicitly, that itself means he knows what he
is doing here. I too much to ask for...and unnecessary thing or expectation
from SW.

Thanks,
Vaibhav



More information about the linux-arm-kernel mailing list