On Tue, Aug 18, 2020 at 02:19:40AM +0300, Vladimir Oltean wrote:
> This API was introduced for 2 reasons:
> 
> 1. Some hardware can emit PPS signals but not starting from arbitrary
>    absolute times, but rather phase-aligned to the beginning of a
>    second. We _could_ patch ts2phc to always specify a start time of
>    0.000000000 to PTP_PEROUT_REQUEST, but in practice, we would never
>    know whether that would actually work with all in-tree PHC drivers.
>    So there was a need for a new flag that only specifies the phase of
>    the periodic signal, and not the absolute start time.
> 
> 2. Some hardware can, rather unfortunately, not distinguish between a
>    rising and a falling extts edge. And, since whatever rises also has
>    to fall before rising again, the strategy in ts2phc is to set a
>    'large' pulse width (half the period) and ignore the extts event
>    corresponding to the mid-way between one second and another. This is
>    all fine, but currently, ts2phc.pulsewidth is a read-only property in
>    the config file. The kernel is not instructed in any way to use this
>    value, it is simply that must be configured based on prior knowledge
>    of the PHC's implementation. This API changes that.
> 
> The introduction of a phase adjustment for the master PHC means we have
> to adjust our approximation of the precise perout timestamp. We put that
> code into a common function and convert all call sites to call that. We
> also need to do the same thing for the edge ignoring logic.

If I am not mistaken, this change is really independent of the large
re-factoring of this series.  It could really get merged right away,
or if that is too much work, as a follow on patch, after this series
gets merged.

Thanks,
Richard


_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to