android_kernel_oneplus_msm8998/drivers/net/ethernet/intel/ixgbe
Jacob Keller 6cb562d668 ixgbe: Use watchdog check in favor of BPF for detecting latched timestamp
This patch removes ixgbe_ptp_match, and the corresponding packet filtering from
ixgbe driver. This code was previously causing some issues within the hotpath of
the driver. However the code also provided a check against possible frozen Rx
timestamp due to dropped packets when the Rx ring is full. This patch provides a
replacement solution based on the watchdog.

To this end, whenever a packet consumes the Rx timestamp it stores the jiffy
value in the rx_ring structure. Watchdog updates its own jiffy timer whenever
there is no valid timestamp in the registers.

If watchdog detects a valid timestamp in the registers, (meaning that no Rx
packet has consumed it yet) it will check which time is most recent, the last
time in the watchdog, or any time in the rx_rings. If the most recent "event"
was more than 5seconds ago, it will flush the Rx timestamp and print a warning
message to the syslog.

Reported-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2013-01-23 14:32:57 -08:00
..
ixgbe.h ixgbe: Use watchdog check in favor of BPF for detecting latched timestamp 2013-01-23 14:32:57 -08:00
ixgbe_82598.c ixgbe: Update link flow control to correctly handle multiple packet buffer DCB 2012-05-04 03:25:24 -07:00
ixgbe_82599.c ixgbe: Use is_valid_ether_addr 2012-12-06 21:31:06 -08:00
ixgbe_common.c ixgbe: Use is_valid_ether_addr 2012-12-06 21:31:06 -08:00
ixgbe_common.h ixgbe: Use is_valid_ether_addr 2012-12-06 21:31:06 -08:00
ixgbe_dcb.c ixgbe: Use num_tcs.pg_tcs as upper limit for TC when checking based on UP 2012-07-21 16:05:28 -07:00
ixgbe_dcb.h ixgbe: Populate the prio_tc_map in ixgbe_setup_tc 2012-07-14 14:29:19 -07:00
ixgbe_dcb_82598.c ixgbe: Clean up priority based flow control 2012-05-09 22:15:40 -07:00
ixgbe_dcb_82598.h ixgbe: update copyright to 2012 2012-02-03 03:05:30 -08:00
ixgbe_dcb_82599.c ixgbe: Clean up priority based flow control 2012-05-09 22:15:40 -07:00
ixgbe_dcb_82599.h ixgbe: update copyright to 2012 2012-02-03 03:05:30 -08:00
ixgbe_dcb_nl.c ixgbe: SR-IOV: dynamic IEEE DCBx default priority changes 2013-01-19 03:35:15 -08:00
ixgbe_debugfs.c ixgbe: eliminate Smatch warnings in ixgbe_debugfs.c 2012-12-01 02:29:19 -08:00
ixgbe_ethtool.c ixgbe: add missing supported filters to get_ts_info 2013-01-23 14:32:57 -08:00
ixgbe_fcoe.c ixgbe: Update ixgbe Tx flags to improve code efficiency 2013-01-19 04:13:45 -08:00
ixgbe_fcoe.h ixgbe: Make FCoE allocation and configuration closer to how rings work 2012-07-19 18:18:49 -07:00
ixgbe_lib.c ixgbe: fix default setting of TXDCTL.WTHRESH 2012-11-01 02:00:10 -07:00
ixgbe_main.c ixgbe: Use watchdog check in favor of BPF for detecting latched timestamp 2013-01-23 14:32:57 -08:00
ixgbe_mbx.c ixgbe: update copyright to 2012 2012-02-03 03:05:30 -08:00
ixgbe_mbx.h ixgbe: Add support for GET_QUEUES message to get DCB configuration 2012-10-22 21:14:54 -07:00
ixgbe_phy.c ixgbe: add support for 1G SX modules 2012-06-20 01:37:04 -07:00
ixgbe_phy.h ixgbe: update copyright to 2012 2012-02-03 03:05:30 -08:00
ixgbe_ptp.c ixgbe: Use watchdog check in favor of BPF for detecting latched timestamp 2013-01-23 14:32:57 -08:00
ixgbe_sriov.c ixgbe: SR-IOV: dynamic IEEE DCBx default priority changes 2013-01-19 03:35:15 -08:00
ixgbe_sriov.h ixgbe: SR-IOV: dynamic IEEE DCBx default priority changes 2013-01-19 03:35:15 -08:00
ixgbe_sysfs.c drivers/net/ethernet: Fix (nearly-)kernel-doc comments for various functions 2012-07-10 23:13:46 -07:00
ixgbe_type.h ixgbe: check whether thermal sensor is enabled. 2012-12-06 21:38:38 -08:00
ixgbe_x540.c ixgbe: Use is_valid_ether_addr 2012-12-06 21:31:06 -08:00
Makefile ptp: Enable clock drivers along with associated net/PHY drivers 2012-11-01 11:35:18 -04:00