[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20150917.145106.1238429841434804906.davem@davemloft.net>
Date: Thu, 17 Sep 2015 14:51:06 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: robert.jarzmik@...e.fr
Cc: samuel@...tiz.org, petr.cvek@....cz, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, arnd@...db.de
Subject: Re: [PATCH v2 1/3] net: irda: pxaficp_ir: use sched_clock() for
time management
From: Robert Jarzmik <robert.jarzmik@...e.fr>
Date: Wed, 16 Sep 2015 11:34:01 +0200
> David Miller <davem@...emloft.net> writes:
>
>> From: Robert Jarzmik <robert.jarzmik@...e.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.jarzmik@...e.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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists