On 5/26/2026 10:13 AM, Thomas Gleixner wrote:
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@amazon.com (local)
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@google.com (local)
https://lore.kernel.org/20260520135207.37826-1-dwmw2@infradead.org (local)
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
Overall the series looks good to me. I made some comments while
reviewing but nothing major and I think mostly it was on interim code
that is removed by the end of the series.
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
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(-)