]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ice/ptp: fix crosstimestamp reporting
authorAnton Nadezhdin <anton.nadezhdin@intel.com>
Tue, 20 May 2025 08:42:16 +0000 (10:42 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 10:14:10 +0000 (12:14 +0200)
commit a5a441ae283d54ec329aadc7426991dc32786d52 upstream.

Set use_nsecs=true as timestamp is reported in ns. Lack of this result
in smaller timestamp error window which cause error during phc2sys
execution on E825 NICs:
phc2sys[1768.256]: ioctl PTP_SYS_OFFSET_PRECISE: Invalid argument

This problem was introduced in the cited commit which omitted setting
use_nsecs to true when converting the ice driver to use
convert_base_to_cs().

Testing hints (ethX is PF netdev):
phc2sys -s ethX -c CLOCK_REALTIME  -O 37 -m
phc2sys[1769.256]: CLOCK_REALTIME phc offset -5 s0 freq      -0 delay    0

Fixes: d4bea547ebb57 ("ice/ptp: Remove convert_art_to_tsc()")
Signed-off-by: Anton Nadezhdin <anton.nadezhdin@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Markus Blöchl <markus@blochl.de>
drivers/net/ethernet/intel/ice/ice_ptp.c

index 7c6f81beaee4602050b4cf366441a2584507d949..369c968a0117d0f7012241fd3e2c0a45a059bfa4 100644 (file)
@@ -2226,6 +2226,7 @@ ice_ptp_get_syncdevicetime(ktime_t *device,
                        hh_ts = ((u64)hh_ts_hi << 32) | hh_ts_lo;
                        system->cycles = hh_ts;
                        system->cs_id = CSID_X86_ART;
+                       system->use_nsecs = true;
                        /* Read Device source clock time */
                        hh_ts_lo = rd32(hw, GLTSYN_HHTIME_L(tmr_idx));
                        hh_ts_hi = rd32(hw, GLTSYN_HHTIME_H(tmr_idx));