Message ID | 50082598.5090706@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Jul 19, 2012 at 04:19:52PM +0100, Jonathan Austin wrote: > We should probably also ignore and additional registration calls, not just > those made after the delay loop has been calibrated... > > Something like the patch below should do the trick. [...] Cheers, pushed into my delay branch. Note that I don't plan to queue these patches until somebody decides they want a delay source other than the architected timers in mainline. Will
Hi Will, Jonathan, On 7/20/2012 7:17 PM, Will Deacon wrote: > On Thu, Jul 19, 2012 at 04:19:52PM +0100, Jonathan Austin wrote: >> We should probably also ignore and additional registration calls, not just >> those made after the delay loop has been calibrated... >> >> Something like the patch below should do the trick. > > [...] > > Cheers, pushed into my delay branch. Thanks for the registration machanism. It looks nice, and works for me on a Cortex-A9 SMP platform with a non-arch_timer counter. I've picked up a revised version of the patch from will/delay and merged it into our local development branch. We'll give it a try in different conditions, UP and SMP, with/without DVFS and so on, and let you know if I find anything.
On Tue, Jul 24, 2012 at 10:06:06AM +0100, Shinya Kuribayashi wrote: > Hi Will, Jonathan, > > On 7/20/2012 7:17 PM, Will Deacon wrote: > > On Thu, Jul 19, 2012 at 04:19:52PM +0100, Jonathan Austin wrote: > >> We should probably also ignore and additional registration calls, not just > >> those made after the delay loop has been calibrated... > >> > >> Something like the patch below should do the trick. > > > > [...] > > > > Cheers, pushed into my delay branch. > > Thanks for the registration machanism. It looks nice, and works for > me on a Cortex-A9 SMP platform with a non-arch_timer counter. That's good to hear, thanks. > I've picked up a revised version of the patch from will/delay and > merged it into our local development branch. We'll give it a try > in different conditions, UP and SMP, with/without DVFS and so on, > and let you know if I find anything. Great! If everything looks good, and you're interested in using this in mainline, I could push the registration for 3.7. I just don't want to see it there if nobody's using it. Will
diff --git a/arch/arm/lib/delay.c b/arch/arm/lib/delay.c index 1b51570..fff305b 100644 --- a/arch/arm/lib/delay.c +++ b/arch/arm/lib/delay.c @@ -72,8 +72,9 @@ void __init register_current_timer_delay(struct delay_timer *timer) arm_delay_ops.delay = __timer_delay; arm_delay_ops.const_udelay = __timer_const_udelay; arm_delay_ops.udelay = __timer_udelay; + delay_calibrated = true; } else { - pr_info("Ignoring late registration of read_current_timer delay\n"); + pr_info("Ignoring duplicate/late registration of read_current_timer delay\n"); } }