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 linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to