Re: [PATCH v3 net-next 00/17] PTP support for the SJA1105 DSA driver
From: Richard Cochran <richardcochran@gmail.com>
Date: 2019-06-06 03:11:41
Also in:
lkml
From: Richard Cochran <richardcochran@gmail.com>
Date: 2019-06-06 03:11:41
Also in:
lkml
On Wed, Jun 05, 2019 at 09:08:54PM +0300, Vladimir Oltean wrote:
Currently I'm using a cyclecounter, but I *will* need actual PHC manipulations for the time-based shaping and policing features that the switch has in hardware.
Okay.
On the other hand I get much tighter sync offset using the free-running counter than with hardware-corrected timestamps.
Why? The time stamps come from the very same counter, don't they?
So as far as I see it, I'll need to have two sets of operations.
I doubt very much that this will work well.
How should I design such a dual-PHC device driver? Just register two separate clocks, one for the timestamping counter, the other for the scheduling/policing PTP clock, and have phc2sys keep them in sync externally to the driver?
But how would phc2sys do this? By comparing clock_gettime() values? That would surely introduce unnecessary time error.
Or implement the hardware corrections alongside the timecounter ones, and expose a single PHC (and for clock_gettime, just pick one of the time sources)?
I would implement the hardware clock and drop the timecounter altogether. HTH, Richard