[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <54130F01.3080404@emlix.com>
Date: Fri, 12 Sep 2014 17:19:29 +0200
From: Daniel Glöckner <dg@...ix.com>
To: Richard Cochran <richardcochran@...il.com>
CC: Christian Riesch <christian.riesch@...cron.at>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: PTP_PEROUT_REQUEST and clock stepping
On 09/12/14 16:40, Richard Cochran wrote:
>> Taking the Intel i210 as an example, the third option (doing nothing)
>> would lead to the following behavior:
>>
>> - If the clock is stepped back, the periodic output stops until the
>> clock reaches the point when it was adjusted.
>>
>> - If the clock is stepped forward, the periodic output oscillates at
>> 62,5 MHz to catch up.
>
> That is a good example of "the results are undefined".
>
> So, how would you reprogram the i210 to keep the period output
> continuous?
0. I'm assuming here that new_time >= start
1. stop the periodic output via TSAUXC
2. set the clock via SYSTIM* to new_time
3a. if (new_time - start) % period < period / 2
set the TRGTTIM* regs to new_time - (new_time - start) % period
3b. else
set the TRGTTIM* regs to new_time - (new_time - start) % period
+ period
4. start the periodic output via TSAUXC
Best Regards,
Daniel
--
Dipl.-Math. Daniel Glöckner, emlix GmbH, http://www.emlix.com
Fon +49 551 30664-0, Fax +49 551 30664-11,
Bertha-von-Suttner-Straße 9, 37085 Göttingen, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsführer: Dr. Uwe Kracke, Ust-IdNr.: DE 205 198 055
emlix - your embedded linux partner
--
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