mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-23 09:47:31 -04:00
igc: Use provided clock ID for history snapshot
The PTP core indicates in system_device_crosststamp::clock_id the clock ID for which the system time stamp should be taken. That allows to utilize hardware timestamps with e.g. AUX clocks. Save the provided clock ID and use it in igc_phc_get_syncdevicetime() for taking the history snapshot. No functional change. Signed-off-by: Thomas Gleixner <tglx@kernel.org> Tested-by: Arthur Kiyanovski <akiyano@amazon.com> Reviewed-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Link: https://patch.msgid.link/20260529195557.637381831@kernel.org
This commit is contained in:
@@ -326,6 +326,7 @@ struct igc_adapter {
|
||||
struct timespec64 prev_ptp_time; /* Pre-reset PTP clock */
|
||||
ktime_t ptp_reset_start; /* Reset time in clock mono */
|
||||
struct system_time_snapshot snapshot;
|
||||
clockid_t snapshot_clock_id;
|
||||
struct mutex ptm_lock; /* Only allow one PTM transaction at a time */
|
||||
|
||||
char fw_version[32];
|
||||
|
||||
@@ -1049,7 +1049,7 @@ static int igc_phc_get_syncdevicetime(ktime_t *device,
|
||||
*/
|
||||
do {
|
||||
/* Get a snapshot of system clocks to use as historic value. */
|
||||
ktime_get_snapshot(&adapter->snapshot);
|
||||
ktime_get_snapshot_id(adapter->snapshot_clock_id, &adapter->snapshot);
|
||||
|
||||
igc_ptm_trigger(hw);
|
||||
|
||||
@@ -1103,6 +1103,8 @@ static int igc_ptp_getcrosststamp(struct ptp_clock_info *ptp,
|
||||
/* This blocks until any in progress PTM transactions complete */
|
||||
mutex_lock(&adapter->ptm_lock);
|
||||
|
||||
adapter->snapshot_clock_id = cts->clock_id;
|
||||
|
||||
ret = get_device_system_crosststamp(igc_phc_get_syncdevicetime,
|
||||
adapter, &adapter->snapshot, cts);
|
||||
mutex_unlock(&adapter->ptm_lock);
|
||||
|
||||
Reference in New Issue
Block a user