linux/drivers/net/ethernet/intel
Jacob Keller 124905012d i40e: replace PTP Rx timestamp hang logic
The current Rx timestamp hang logic is not very robust because it does
not notice a register is hung until all four timestamps have been
latched and we wait a full 5 seconds. Replace this logic with a newer Rx
hang detection based on storing the jiffies when we first notice
a receive timestamp event. We store each register's time separately,
along with a flag indicating if it is currently latched. Upon first
transitioning to latch, we will update the latch_events[i] jiffies
value. This indicates the time we first noticed this event. The watchdog
routine will simply check that the either the flag has been cleared, or
we have passed at least one second. In this case, it is able to clear
the Rx timestamp register under the assumption that it was for a dropped
frame. The benefit if this strategy is that we should be able to
detect and clear out stalled RXTIME_H registers before we exhaust the
supply of 4, and avoid complete stall of Rx timestamp events.

Change-ID: Id55458c0cd7a5dd0c951ff2b8ac0b2509364131f
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-10-31 14:26:40 -07:00
..
e1000 ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
e1000e ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
fm10k ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
i40e i40e: replace PTP Rx timestamp hang logic 2016-10-31 14:26:40 -07:00
i40evf i40e/i40evf: Changed version from 1.6.19 to 1.6.21 2016-10-28 23:28:39 -07:00
igb ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
igbvf ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
ixgb ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
ixgbe Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-10-30 12:42:58 -04:00
ixgbevf ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
e100.c ethernet/intel: use core min/max MTU checking 2016-10-18 11:34:18 -04:00
Kconfig ixgbe: Replace ndo_add/del_vxlan_port with ndo_add/del_udp_enc_port 2016-06-17 20:23:30 -07:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00