linux/drivers/net/ethernet/intel
Jacob Keller 25d7a5f5a6 ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter
The ixgbe_ptp_start_cyclecounter is intended to be called whenever the
cyclecounter parameters need to be changed.

Since commit a9763f3cb5 ("ixgbe: Update PTP to support X550EM_x
devices"), this function has cleared the SYSTIME registers and reset the
TSAUXC DISABLE_SYSTIME bit.

While these need to be cleared during ixgbe_ptp_reset, it is wrong to clear
them during ixgbe_ptp_start_cyclecounter. This function may be called
during both reset and link status change. When link changes, the SYSTIME
counter is still operating normally, but the cyclecounter should be updated
to account for the possibly changed parameters.

Clearing SYSTIME when link changes causes the timecounter to jump because
the cycle counter now reads zero.

Extract the SYSTIME initialization out to a new function and call this
during ixgbe_ptp_reset. This prevents the timecounter adjustment and avoids
an unnecessary reset of the current time.

This also restores the original SYSTIME clearing that occurred during
ixgbe_ptp_reset before the commit above.

Reported-by: Steve Payne <spayne@aurora.tech>
Reported-by: Ilya Evenbach <ievenbach@aurora.tech>
Fixes: a9763f3cb5 ("ixgbe: Update PTP to support X550EM_x devices")
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-08-24 12:21:10 -07:00
..
e1000 net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
e1000e e1000e: convert .adjfreq to .adjfine 2022-07-28 10:57:06 -07:00
fm10k intel/fm10k:fix repeated words in comments 2022-06-30 10:56:01 -07:00
i40e i40e: Fix to stop tx_timeout recovery if GLOBR fails 2022-08-16 08:54:37 -07:00
iavf iavf: Fix deadlock in initialization 2022-08-12 08:23:01 -07:00
ice ice: xsk: use Rx ring's XDP ring when picking NAPI context 2022-08-22 08:47:26 -07:00
igb igb: Add lock to avoid data race 2022-08-18 11:03:26 -07:00
igbvf intel/igbvf:fix repeated words in comments 2022-06-30 11:04:14 -07:00
igc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-21 13:03:39 -07:00
ixgb net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
ixgbe ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter 2022-08-24 12:21:10 -07:00
ixgbevf intel/ixgbevf:fix repeated words in comments 2022-06-30 11:08:45 -07:00
e100.c intel: remove unused macros 2022-06-30 09:40:55 -07:00
Kconfig ice: support crosstimestamping on E822 devices if supported 2021-12-21 09:11:40 -08:00
Makefile