From: Robert Jarzmik <robert.jarz...@free.fr> Date: Wed, 16 Sep 2015 11:34:01 +0200
> David Miller <da...@davemloft.net> writes: > >> From: Robert Jarzmik <robert.jarz...@free.fr> >> Date: Sat, 12 Sep 2015 13:45:22 +0200 >> >>> Instead of using directly the OS timer through direct register access, >>> use the standard sched_clock(), which will end up in OSCR reading >>> anyway. >>> >>> This is a first step for direct access register removal and machine >>> specific code removal from this driver. >>> >>> Signed-off-by: Robert Jarzmik <robert.jarz...@free.fr> >> >> What is the granularity of the OSCR register? > It's 307ns (ie. 3.25MHz clock). > >> If it is not nanoseconds, then you need to adjust calculations >> such as this one: > Tell me if the 307ns requires something I should adjust. > > My understanding is that the flow will be : > sched_clock() > rd->read_sched_clock() (cyc_to_ns() transformed for return) > pxa_read_sched_clock() > readl_relaxed(OSCR) > > I didn't see any timings issue, as the flow looks equivalent to the > readl(OSCR), > but I might have overlooked something. Of course it's different, because sched_clock() converts the value read from OSCR into nanoseconds, which is obviously different from using the OSCR register value directly. You're therefore feeding different values into this IRDA code. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html