On Fri, 23 Feb 2024 11:24:45 -0800 Rahul Rameshbabu <rrameshbabu@xxxxxxxxxx> wrote: > Multiple network devices that support hardware timestamping appear to have > common behavior with regards to timestamp handling. Implement common Tx > hardware timestamping statistics in a tx_stats struct_group. Common Rx > hardware timestamping statistics can subsequently be implemented in a > rx_stats struct_group for ethtool_ts_stats. > > Signed-off-by: Rahul Rameshbabu <rrameshbabu@xxxxxxxxxx> > Reviewed-by: Dragos Tatulea <dtatulea@xxxxxxxxxx> > +/** > + * enum ethtool_ts_stats_layer - layer to query hardware timestamping > statistics > + * @ETHTOOL_TS_STATS_LAYER_ACTIVE: > + * retrieve the statistics from the layer that is currently feeding > + * hardware timestamps for packets. > + * @ETHTOOL_TS_STATS_LAYER_DMA: > + * retrieve the statistics from the DMA hardware timestamping layer > of the > + * device. > + * @ETHTOOL_TS_STATS_PHY: > + * retrieve the statistics from the PHY hardware timestamping layer > of the > + * device. > + */ > +enum ethtool_ts_stats_layer { > + ETHTOOL_TS_STATS_LAYER_ACTIVE, > + ETHTOOL_TS_STATS_LAYER_DMA, > + ETHTOOL_TS_STATS_LAYER_PHY, > +}; The all point of my v8 series new implementation (asked by the maintainers) was to move on from the timestamp layer to the phc provider which is described by a phc index + phc qualifier (precise IEEE 1588/approx DMA). The struct being introduce in patch 9 of my series. You should do the same, use the phc provider instead of the layer. With using only the layer and in case of several PHYs we could not reach the right ts stats. Same goes for the MAC having both type of timestamp IEEE 1588 and DMA. Regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com