This series contains updates to i40e and i40evf.

Colin Ian King fixes a minor issue with dev_err message where a new line
character was missing from the end of the message.

Jake provides several most of the changes in the series, starting with
dropping the is_vf and is_netdev fields in the i40e_mac_filter structure
since they are not needed (along with the checks that used these fields).
Reason being that we use separate VSI's for SRIOV VFs and for netdev VSIs,
therefore a single VSI should only have one type of filter.  Then
simplifies our .set_rx_mode handler by using the kernel provided
__dev_uc_sync and __dev_mc_sync functions for notification of add and
deletion of filters.  Refactored the i40e_put_mac_in_vlan() to resolve
an issue where this function was arbitrarily modifying all filters to
have the same VLAN, which is incorrect because it could be modifying
active filters without putting them into the new state.  Refactored the
delete filter logic so that we can re-use the functionality, where
appropriate, without having to search for the filter twice.  Reduced the
latency of operations related to searching for specific MAC filters by
using a static hash table instead of a list.  Reduced code duplication
in the adminq command to add/delete for filters.  Fixed an issue where
TSYNVALID bit was not being checked as the true indicator of whether
the packet has an associated timestamp.  Cleaned up a second msleep()
call by simply re-ordering the code so that the extra wait is no longer
needed.

Alan provides additional fix to the work Jake has been doing to resolve
a bug where adding at least one VLAN and then removing all VLANs leaves
the MAC filters for the VSI with an incorrect value for the VID which
indicates the MAC filter's VLAN status.

Alex adds a common method for finding a VSI by type.  Also cleaned up
the logic for coalescing RS bits, which was convoluted and larger than
it needed to be.

Mitch fixes an issue with the failure to add filters when the VF driver
is reloaded by simply setting the number of filters to 0 when freeing
VF resources.

Maciej implements a I40E_NVMUPD_STATE_ERROR state for NVM update, so
that the driver has the ability to return NVM image write failure.

Filip removes unreachable code which was found using static analysis
where "if" statements were never in a "true/false" state, so clean up
unnecessary if statements.

The following are changes since commit 17a032b7bfc0997682923509b70f9466940124bb:
  Merge branch 'bridge-PIM-hello'
and are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 40GbE

Alan Brady (1):
  i40e: fix MAC filters when removing VLANs

Alexander Duyck (2):
  i40e: Add common function for finding VSI by type
  i40e: Reorder logic for coalescing RS bits

Colin Ian King (1):
  i40e: Add missing \n to end of dev_err message

Filip Sadowski (1):
  i40e: removed unreachable code

Jacob Keller (14):
  i40e: drop is_vf and is_netdev fields in struct i40e_mac_filter
  i40e: make use of __dev_uc_sync and __dev_mc_sync
  i40e: move i40e_put_mac_in_vlan and i40e_del_mac_all_vlan
  i40e: refactor i40e_put_mac_in_vlan to avoid changing f->vlan
  i40e: When searching all MAC/VLAN filters, ignore removed filters
  i40e: implement __i40e_del_filter and use where applicable
  i40e: store MAC/VLAN filters in a hash with the MAC Address as key
  i40e: properly cleanup on allocation failure in i40e_sync_vsi_filters
  i40e: avoid looping to check whether we're in VLAN mode
  i40e: remove duplicate add/delete adminq command code for filters
  i40e: correct check for reading TSYNINDX from the receive descriptor
  i40e: use a mutex instead of spinlock in PTP user entry points
  i40e: replace PTP Rx timestamp hang logic
  i40evf: avoid an extra msleep while

Maciej Sosin (1):
  i40e: Implementation of ERROR state for NVM update state machine

Michal Kosiarz (1):
  i40e: Fix for division by zero

Mitch Williams (1):
  i40e: clear mac filter count on reset

 drivers/net/ethernet/intel/i40e/i40e.h             |   74 +-
 drivers/net/ethernet/intel/i40e/i40e_adminq.c      |    4 +-
 drivers/net/ethernet/intel/i40e/i40e_common.c      |    6 +-
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c     |   92 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |   30 +-
 drivers/net/ethernet/intel/i40e/i40e_fcoe.c        |   12 +-
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 1015 ++++++++++----------
 drivers/net/ethernet/intel/i40e/i40e_nvm.c         |   16 +
 drivers/net/ethernet/intel/i40e/i40e_ptp.c         |  137 ++-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |  119 ++-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h        |    3 -
 drivers/net/ethernet/intel/i40e/i40e_type.h        |    1 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |   89 +-
 drivers/net/ethernet/intel/i40evf/i40e_adminq.c    |    4 +-
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c      |  105 +-
 drivers/net/ethernet/intel/i40evf/i40e_txrx.h      |    1 -
 drivers/net/ethernet/intel/i40evf/i40e_type.h      |    1 +
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    |    8 +-
 18 files changed, 867 insertions(+), 850 deletions(-)

-- 
2.7.4

Reply via email to