On Tue, Dec 01, 2020 at 05:14:38PM +0100, Volodymyr Bendiuga wrote:
> From: Volodymyr Bendiuga <[email protected]>
>
> This tiny patch provides generic solution for 1-step
> E2E & P2P Transparent Clocks.
The small code change (or something like it) would be fine, but there
is a larger issue that you need to address, first.
> Before revealing any further details, I want to state
> in plain words that changes brought about in this patch
> will only work for HW that is compliant with IEEE 1588 V2
> standard, with regard to Transparent Clock and 1-step
> operation. That is to say, HW that is capable of updating
> correction field on-the-fly, for the following packets:
> 1. SYNC
So what HW actually does this? I just looked...
Only one driver implements HWTSTAMP_TX_ONESTEP_P2P, namely
drivers/ptp/ptp_ines.c. It have this HW for testing. That one
updates the originTimestamp of Sync messages, IIRC.
These are the drivers that implement HWTSTAMP_TX_ONESTEP_SYNC.
- drivers/net/ethernet/cadence/macb_main.c
- drivers/net/ethernet/freescale/dpaa2/
- drivers/net/ethernet/microchip/lan743x_ptp.c
- drivers/net/ethernet/mscc/ocelot.c
- drivers/net/phy/dp83640.c
- drivers/net/phy/mscc/mscc_ptp.c
Of these, I only have the dp83640 available for testing. That one
updates the originTimestamp.
What do the others do?
It appears that ocelot *can* update the correction field,
case HWTSTAMP_TX_ONESTEP_SYNC
/* IFH_REW_OP_ONE_STEP_PTP updates the correctional field, we
* need to update the origin time.
*/
ocelot_port->ptp_cmd = IFH_REW_OP_ORIGIN_PTP;
but does it clobber the correction field or accumulate? It is an
important difference!
So what HW will support this new TC 1-step Sync? None at all, AFAICT.
If you want to support 1-step TC, then you are going to have to do
some background work:
- Expand the kernel driver interface to make it clear that a given HW
performs correctionField accumulation.
- Advertise that via ethtool get_ts_info.
- Get a driver merged that implements this.
- Expand ptp4l's time_stamping option to make use of the new feature.
Thanks,
Richard
_______________________________________________
Linuxptp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel