[patch 00/24] timekeeping/ptp: Expand snapshot functionality
From: Thomas Gleixner
Date: Tue May 26 2026 - 13:16:06 EST
Sorry for the large CC list, but changing the inner workings touches
unfortunately a lot of places in one go.
PTP wants to grow new snapshot functionality, which provides not only the
captured CLOCK* values, but also the underlying clocksource counter value.
https://lore.kernel.org/20260515164033.6403-1-akiyano@xxxxxxxxxx
There was quite some discussion in seemingly related threads how to capture
these values and how to provide core infrastructure so that driver writers
have something to work with
https://lore.kernel.org/20260514225842.110706-1-hramamurthy@xxxxxxxxxx
https://lore.kernel.org/20260520135207.37826-1-dwmw2@xxxxxxxxxxxxx
This series implements the timekeeping related mechanisms to:
1) Capture CLOCK values along with the clocksource counter value for
non-hardware based sampling
2) Expanding the hardware cross time stamp mechanism to hand back the
clocksource counter value, which was captured by the device, along
with the related CLOCK values
3) Adding AUX clock support to the hardware cross timestamping core
It's based on v7.1-rc2 and also available from git:
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git timekeeping-ptp-extend-v1
Thanks to David for rebasing his PTP/timekeeping work on top and providing
feedback, fixes and testing.
Thanks,
tglx
---
arch/arm64/kvm/hyp_trace.c | 8
arch/arm64/kvm/hypercalls.c | 6
drivers/net/dsa/sja1105/sja1105_main.c | 8
drivers/net/ethernet/intel/ice/ice_ptp.c | 5
drivers/net/ethernet/intel/igc/igc.h | 1
drivers/net/ethernet/intel/igc/igc_ptp.c | 4
drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c | 4
drivers/net/wireless/intel/iwlwifi/mld/ptp.c | 5
drivers/net/wireless/intel/iwlwifi/mvm/ptp.c | 7
drivers/pps/generators/pps_gen-dummy.c | 6
drivers/pps/generators/pps_gen_tio.c | 6
drivers/ptp/ptp_chardev.c | 18 +
drivers/ptp/ptp_ocp.c | 11 -
drivers/ptp/ptp_vmclock.c | 25 --
drivers/virtio/virtio_rtc_ptp.c | 2
include/linux/pps_kernel.h | 8
include/linux/ptp_clock_kernel.h | 15 -
include/linux/timekeeping.h | 54 ++---
kernel/time/timekeeping.c | 211 ++++++++++++--------
sound/hda/common/controller.c | 4
20 files changed, 236 insertions(+), 172 deletions(-)