mirror_ubuntu-kernels/drivers/net/ethernet/intel/i40e
Jacob Keller e6e3fc2bd3 i40e: don't warn every time we clear an Rx timestamp register
The intent of this message was to indicate to a user that we might have
missed a timestamp event for a valid packet. The original method of
detecting the missed events relied on waiting until all 4 registers were
filled.

A recent commit d55458c0cd7a5 ("i40e: replace PTP Rx timestamp hang
logic") replaced this logic with much better detection
scheme that could detect a stalled Rx timestamp register even when other
registers were still functional.

The new logic means that a message will be displayed almost as soon as
a timestamp for a dropped frame occurs. This new logic highlights that
the hardware will attempt timestamp for frames which it later decides to
drop. The most prominent example is when a multicast PTP frame is
received on a multicast address that we are not subscribed to.

Because the hardware initiates the Rx timestamp as soon as possible, it
will latch an RXTIME register, but then drop the packet.

This results in users being confused by the message as they are not
expecting to see dropped timestamp messages unless their application
also indicates that timestamps were missing.

Resolve this by reducing the severity and frequency of the displayed
message. We now only print the message if 3 or 4 of the RXTIME registers
are stalled and get cleared within the same watchdog event. This ensures
that the common case does not constantly display the message.
Additionally, since the message is likely not as meaningful to most
users, reduce the message to a dev_dbg instead of a dev_warn.

Users can still get a count of the number of timestamps dropped by
reading the ethtool statistics value, if necessary.

Change-ID: I35494442226a444c418dfb4f91a3070d06c8435c
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>
2017-02-11 20:39:01 -08:00
..
i40e_adminq_cmd.h i40e: Add FEC for 25g 2016-12-06 21:01:43 -08:00
i40e_adminq.c i40e: Implementation of ERROR state for NVM update state machine 2016-10-31 14:26:40 -07:00
i40e_adminq.h i40e: Move NVM variable out of AQ struct 2016-04-06 18:45:11 -07:00
i40e_alloc.h
i40e_client.c i40e: Add bus number info to i40e_bus_info struct 2017-02-11 20:39:01 -08:00
i40e_client.h i40e: reopen client after reset 2016-10-28 23:28:39 -07:00
i40e_common.c i40e: Save link FEC info from link up event 2017-02-11 20:39:01 -08:00
i40e_dcb_nl.c i40e: Change some messages from info to debug only 2015-10-15 01:58:41 -07:00
i40e_dcb.c i40e: refactor DCB function 2016-02-16 19:04:08 -08:00
i40e_dcb.h i40e: Add parsing for CEE DCBX TLVs 2015-10-08 15:11:38 -07:00
i40e_debugfs.c i40e: use unsigned printf format specifier for active_filters count 2016-12-06 20:57:18 -08:00
i40e_devids.h i40e: Add support for 25G devices 2016-12-06 20:59:43 -08:00
i40e_diag.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_diag.h
i40e_ethtool.c i40e: add interrupt rate limit verbosity 2017-02-02 22:43:09 -08:00
i40e_fcoe.c i40e: store MAC/VLAN filters in a hash with the MAC Address as key 2016-10-31 14:26:40 -07:00
i40e_fcoe.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_hmc.c i40e: fix an uninitialized variable bug 2016-05-14 00:21:51 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.c i40e: use explicit cast from u16 to u8 2015-12-12 21:08:26 -08:00
i40e_lan_hmc.h
i40e_main.c i40e: Save link FEC info from link up event 2017-02-11 20:39:01 -08:00
i40e_nvm.c i40e: Implementation of ERROR state for NVM update state machine 2016-10-31 14:26:40 -07:00
i40e_osdep.h i40e: Add bus number info to i40e_bus_info struct 2017-02-11 20:39:01 -08:00
i40e_prototype.h i40e: Add functions which apply correct PHY access method for read and write operation 2016-12-06 21:09:39 -08:00
i40e_ptp.c i40e: don't warn every time we clear an Rx timestamp register 2017-02-11 20:39:01 -08:00
i40e_register.h i40e: Expose some registers to program parser, FD and RSS logic 2016-02-18 23:49:31 -08:00
i40e_status.h
i40e_txrx.c i40e: update comment explaining where FDIR buffers are freed 2017-02-11 20:39:01 -08:00
i40e_txrx.h i40e/i40evf: Moves skb from i40e_rx_buffer to i40e_ring 2017-02-11 20:39:01 -08:00
i40e_type.h i40e: Save link FEC info from link up event 2017-02-11 20:39:01 -08:00
i40e_virtchnl_pf.c i40e: when adding or removing MAC filters, correctly handle VLANs 2017-02-02 22:39:09 -08:00
i40e_virtchnl_pf.h net: Update API for VF vlan protocol 802.1ad support 2016-09-24 08:01:26 -04:00
i40e_virtchnl.h i40e: group base mode VF offload flags 2016-10-28 23:28:39 -07:00
i40e.h i40e: remove unused function 2017-02-02 22:42:10 -08:00
Makefile i40e: Add support for client interface for IWARP driver 2016-02-29 17:10:52 -05:00