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/[email protected] 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/[email protected] https://lore.kernel.org/[email protected] 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(-)

