diff options
author | David S. Miller <davem@davemloft.net> | 2018-01-14 12:25:04 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-14 12:25:04 -0500 |
commit | 564737f981fb4b4b3266901508bb9b90d9d43de8 (patch) | |
tree | 9dfbd6f5ed32f569db17ac1cb58d3a07f32db0d1 /drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | |
parent | 5d498214afced560f13c1b0610583fc883439753 (diff) | |
parent | e23cf38fcaf42058888d4e42d6d3189bc5d9af8f (diff) |
Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:
====================
10GbE Intel Wired LAN Driver Updates 2018-01-12
This series contains updates to ixgbe, fm10k and net core.
Alex updates the driver to remove a duplicate MAC address check and
verifies that we have not run out of resources to configure a MAC rule
in our filter table. Also do not assume that dev->num_tc was populated
and configured with the driver, since it can be configured via mqprio
without any hardware coordination. Fixed the recording of stats for
MACVLAN in ixgbe and fm10k instead of recording the receive queue on
MACVLAN offloaded frames. When handling a MACVLAN offload, we should
be stopping/starting traffic on our own queues instead of the upper
devices transmit queues. Fixed possible race conditions with the
MACVLAN cleanup with the interface cleanup on shutdown. With the
recent fixes to ixgbe, we can cap the number of queues regardless of
accel_priv being in use or not, since the actual number of queues are
being reported via real_num_tx_queues.
Tony fixes up the kernel documentation for ixgbe and ixgbevf to resolve
warnings when W=1 is used.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_common.c')
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c index 1948e4208fb4..7ac7ef9b37ff 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | |||
@@ -1613,6 +1613,7 @@ static void ixgbe_shift_out_eeprom_bits(struct ixgbe_hw *hw, u16 data, | |||
1613 | /** | 1613 | /** |
1614 | * ixgbe_shift_in_eeprom_bits - Shift data bits in from the EEPROM | 1614 | * ixgbe_shift_in_eeprom_bits - Shift data bits in from the EEPROM |
1615 | * @hw: pointer to hardware structure | 1615 | * @hw: pointer to hardware structure |
1616 | * @count: number of bits to shift | ||
1616 | **/ | 1617 | **/ |
1617 | static u16 ixgbe_shift_in_eeprom_bits(struct ixgbe_hw *hw, u16 count) | 1618 | static u16 ixgbe_shift_in_eeprom_bits(struct ixgbe_hw *hw, u16 count) |
1618 | { | 1619 | { |
@@ -1667,7 +1668,7 @@ static void ixgbe_raise_eeprom_clk(struct ixgbe_hw *hw, u32 *eec) | |||
1667 | /** | 1668 | /** |
1668 | * ixgbe_lower_eeprom_clk - Lowers the EEPROM's clock input. | 1669 | * ixgbe_lower_eeprom_clk - Lowers the EEPROM's clock input. |
1669 | * @hw: pointer to hardware structure | 1670 | * @hw: pointer to hardware structure |
1670 | * @eecd: EECD's current value | 1671 | * @eec: EEC's current value |
1671 | **/ | 1672 | **/ |
1672 | static void ixgbe_lower_eeprom_clk(struct ixgbe_hw *hw, u32 *eec) | 1673 | static void ixgbe_lower_eeprom_clk(struct ixgbe_hw *hw, u32 *eec) |
1673 | { | 1674 | { |
@@ -2037,7 +2038,7 @@ static s32 ixgbe_mta_vector(struct ixgbe_hw *hw, u8 *mc_addr) | |||
2037 | /** | 2038 | /** |
2038 | * ixgbe_set_mta - Set bit-vector in multicast table | 2039 | * ixgbe_set_mta - Set bit-vector in multicast table |
2039 | * @hw: pointer to hardware structure | 2040 | * @hw: pointer to hardware structure |
2040 | * @hash_value: Multicast address hash value | 2041 | * @mc_addr: Multicast address |
2041 | * | 2042 | * |
2042 | * Sets the bit-vector in the multicast table. | 2043 | * Sets the bit-vector in the multicast table. |
2043 | **/ | 2044 | **/ |
@@ -3086,6 +3087,8 @@ s32 ixgbe_init_uta_tables_generic(struct ixgbe_hw *hw) | |||
3086 | * ixgbe_find_vlvf_slot - find the vlanid or the first empty slot | 3087 | * ixgbe_find_vlvf_slot - find the vlanid or the first empty slot |
3087 | * @hw: pointer to hardware structure | 3088 | * @hw: pointer to hardware structure |
3088 | * @vlan: VLAN id to write to VLAN filter | 3089 | * @vlan: VLAN id to write to VLAN filter |
3090 | * @vlvf_bypass: true to find vlanid only, false returns first empty slot if | ||
3091 | * vlanid not found | ||
3089 | * | 3092 | * |
3090 | * return the VLVF index where this VLAN id should be placed | 3093 | * return the VLVF index where this VLAN id should be placed |
3091 | * | 3094 | * |
@@ -3476,7 +3479,7 @@ void ixgbe_set_mac_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf) | |||
3476 | * ixgbe_set_vlan_anti_spoofing - Enable/Disable VLAN anti-spoofing | 3479 | * ixgbe_set_vlan_anti_spoofing - Enable/Disable VLAN anti-spoofing |
3477 | * @hw: pointer to hardware structure | 3480 | * @hw: pointer to hardware structure |
3478 | * @enable: enable or disable switch for VLAN anti-spoofing | 3481 | * @enable: enable or disable switch for VLAN anti-spoofing |
3479 | * @pf: Virtual Function pool - VF Pool to set for VLAN anti-spoofing | 3482 | * @vf: Virtual Function pool - VF Pool to set for VLAN anti-spoofing |
3480 | * | 3483 | * |
3481 | **/ | 3484 | **/ |
3482 | void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf) | 3485 | void ixgbe_set_vlan_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf) |