On Sat, 2007-01-20 at 17:08 +0100, Guennadi Liakhovetski wrote: > > static int hpet_next_event(unsigned long delta, > > struct clock_event_device *evt) > > { > > unsigned long cnt; > > > > cnt = hpet_readl(HPET_COUNTER); > > cnt += delta; > > hpet_writel(cnt, HPET_T0_CMP); > > > > return ((long)(hpet_readl(HPET_COUNTER) - cnt ) > 0); > > } > > > > The generic code takes care of the already expired event. > > The thing is - 2.6.20-rc5-rt3 didn't provide clockevent on PXA, so, I took > Sascha's patch instead of my own, which I've been using with 2.6.18, as > his patches were already submitted to various lists and had chances to > become mainline. And strait away it didn't work. The code above seems to > be doing something close to Sascha's patch, so, I expect it would behave > in the same way. And until I introduced a minimum increment for the match > register, it didn't work. I either got hangs, or WARN_ON dumps about "time > warp detected". I think, any timer related code for PXA has to be tested > on real hardware under significant (real-time) load before going upstream. > Haven't tested -rt7 though, so, maybe it is already handled there?
No, as I'm reworking clock events a bit and I added the handling for the match register based devices. The above will catch the event in the past and the generic code handles that. Will be on -rt soon. tglx - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/