Skip to content
Commit 6b2e2997 authored by Lakshmi Sowjanya D's avatar Lakshmi Sowjanya D Committed by Thomas Gleixner
Browse files

timekeeping: Provide infrastructure for converting to/from a base clock



Hardware time stamps like provided by PTP clock implementations are based
on a clock which feeds both the PCIe device and the system clock. For
further processing the underlying hardwarre clock timestamp must be
converted to the system clock.

Right now this requires drivers to invoke an architecture specific
conversion function, e.g. to convert the ART (Always Running Timer)
timestamp to a TSC timestamp.

As the system clock is aware of the underlying base clock, this can be
moved to the core code by providing a base clock property for the system
clock which contains the conversion factors and assigning a clocksource ID
to the base clock.

Add the required data structures and the conversion infrastructure in the
core code to prepare for converting X86 and the related PTP drivers over.

[ tglx: Added a missing READ_ONCE(). Massaged change log ]

Co-developed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Co-developed-by: default avatarChristopher S. Hall <christopher.s.hall@intel.com>
Signed-off-by: default avatarChristopher S. Hall <christopher.s.hall@intel.com>
Signed-off-by: default avatarLakshmi Sowjanya D <lakshmi.sowjanya.d@intel.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240513103813.5666-2-lakshmi.sowjanya.d@intel.com
parent 7cbf3b13
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment