[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E412252.5000106@pengutronix.de>
Date: Tue, 09 Aug 2011 14:04:34 +0200
From: Marc Kleine-Budde <mkl@...gutronix.de>
To: Robin Holt <holt@....com>
CC: Wolfgang Grandegger <wg@...ndegger.com>,
U Bhaskar-B22300 <B22300@...escale.com>,
socketcan-core@...ts.berlios.de, netdev@...r.kernel.org,
PPC list <linuxppc-dev@...ts.ozlabs.org>
Subject: Re: [RFC 4/4] [powerpc] Add flexcan device support for p1010rdb.
On 08/09/2011 01:40 PM, Robin Holt wrote:
> On Tue, Aug 09, 2011 at 09:11:33AM +0200, Wolfgang Grandegger wrote:
>>> + return &p1010_rdb_system_clock;
>>
>> Just returning fsl_get_sys_freq() here would already be fine. I'm also
>> missing the factor of two here:
>>
>> return fsl_get_sys_freq() / 2; ????
>
> I am working on the other comments right now as well, but this one
> brought up a good question. The old algorithm in the original freescale
> patches I started with actually did, essentially:
>
> ...clock.freq = DIV_ROUND_CLOSEST(fsl_get_sys_freq() / 2, 1000) * 1000
>
> The end result was before:
> ...clock.freq=0x0bebc200
That's exactly 200 MHz
> After:
> ...clock.freq=0x0bebc1fe
this is 199 999 998 Hz
> Is that rounding relavent?
_If_ 200 MHz is correct, this would be an error of 0.000001%. But the
fsl code rounds to closest KHz. Rounding introduces errors in most of
the cases. IMHO it's better not to round here.
For example the usual at91can is clocked with 99.532800 MHz, this is a
least the value the arm clock framework reports.
Cheers, Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Download attachment "signature.asc" of type "application/pgp-signature" (263 bytes)
Powered by blists - more mailing lists