Starting from the 8000-series (Medford 1), SFC NICs can timestamp TX packets sent through an ordinary DMA queue, rather than a special control-plane operation as in the 7000-series. Patches 2-8 implement support for this. The X2000-series (Medford 2) changes the format of timestamps, from seconds+ (2^27)ths to seconds + quarter nanoseconds, as well as changing the shift of the frequency adjustment for increased precision. Patches 9-12 implement support for these changes. Patch #1 is an unrelated fix for NAPI budget handling, needed in order for TX completion changes in the later patches to apply cleanly.
Bert Kenward (1): sfc: remove tx and MCDI handling from NAPI budget consideration Edward Cree (2): sfc: on 8000 series use TX queues for TX timestamps sfc: support second + quarter ns time format for receive datapath Laurence Evans (3): sfc: simplify RX datapath timestamping sfc: support separate PTP and general timestamping sfc: support Medford2 frequency adjustment format Martin Habets (6): sfc: handle TX timestamps in the normal data path sfc: add function to determine which TX timestamping method to use sfc: use main datapath for HW timestamps if available sfc: only enable TX timestamping if the adapter is licensed for it sfc: MAC TX timestamp handling on the 8000 series sfc: only advertise TX timestamping if we have the license for it drivers/net/ethernet/sfc/ef10.c | 158 ++++++++++++--- drivers/net/ethernet/sfc/efx.c | 11 + drivers/net/ethernet/sfc/farch.c | 26 +-- drivers/net/ethernet/sfc/net_driver.h | 21 +- drivers/net/ethernet/sfc/nic.h | 4 + drivers/net/ethernet/sfc/ptp.c | 368 ++++++++++++++++++++++++++++------ drivers/net/ethernet/sfc/tx.c | 21 +- 7 files changed, 489 insertions(+), 120 deletions(-)