Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue

Jeff Kirsher says:

====================
Intel Wired LAN Driver Fixes 2018-11-28

This series contains fixes to igb, ixgbe and i40e.

Yunjian Wang from Huawei resolves a variable that could potentially be
NULL before it is used.

Lihong fixes an i40e issue which goes back to 4.17 kernels, where
deleting any of the MAC filters was causing the incorrect syncing for
the PF.

Josh Elsasser caught that there were missing enum values in the link
capabilities for x550 devices, which was preventing link for 1000BaseLX
SFP modules.

Jan fixes the function header comments for XSK methods.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2018-11-28 11:33:35 -08:00
Родитель 9a764c1e59 529eb362a3
Коммит d78a5ebd8b
4 изменённых файлов: 12 добавлений и 9 удалений

Просмотреть файл

@ -1413,7 +1413,7 @@ void __i40e_del_filter(struct i40e_vsi *vsi, struct i40e_mac_filter *f)
} }
vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED; vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED;
set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->state); set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->back->state);
} }
/** /**

Просмотреть файл

@ -33,7 +33,7 @@ static int i40e_alloc_xsk_umems(struct i40e_vsi *vsi)
} }
/** /**
* i40e_add_xsk_umem - Store an UMEM for a certain ring/qid * i40e_add_xsk_umem - Store a UMEM for a certain ring/qid
* @vsi: Current VSI * @vsi: Current VSI
* @umem: UMEM to store * @umem: UMEM to store
* @qid: Ring/qid to associate with the UMEM * @qid: Ring/qid to associate with the UMEM
@ -56,7 +56,7 @@ static int i40e_add_xsk_umem(struct i40e_vsi *vsi, struct xdp_umem *umem,
} }
/** /**
* i40e_remove_xsk_umem - Remove an UMEM for a certain ring/qid * i40e_remove_xsk_umem - Remove a UMEM for a certain ring/qid
* @vsi: Current VSI * @vsi: Current VSI
* @qid: Ring/qid associated with the UMEM * @qid: Ring/qid associated with the UMEM
**/ **/
@ -130,7 +130,7 @@ static void i40e_xsk_umem_dma_unmap(struct i40e_vsi *vsi, struct xdp_umem *umem)
} }
/** /**
* i40e_xsk_umem_enable - Enable/associate an UMEM to a certain ring/qid * i40e_xsk_umem_enable - Enable/associate a UMEM to a certain ring/qid
* @vsi: Current VSI * @vsi: Current VSI
* @umem: UMEM * @umem: UMEM
* @qid: Rx ring to associate UMEM to * @qid: Rx ring to associate UMEM to
@ -189,7 +189,7 @@ static int i40e_xsk_umem_enable(struct i40e_vsi *vsi, struct xdp_umem *umem,
} }
/** /**
* i40e_xsk_umem_disable - Diassociate an UMEM from a certain ring/qid * i40e_xsk_umem_disable - Disassociate a UMEM from a certain ring/qid
* @vsi: Current VSI * @vsi: Current VSI
* @qid: Rx ring to associate UMEM to * @qid: Rx ring to associate UMEM to
* *
@ -255,12 +255,12 @@ int i40e_xsk_umem_query(struct i40e_vsi *vsi, struct xdp_umem **umem,
} }
/** /**
* i40e_xsk_umem_query - Queries a certain ring/qid for its UMEM * i40e_xsk_umem_setup - Enable/disassociate a UMEM to/from a ring/qid
* @vsi: Current VSI * @vsi: Current VSI
* @umem: UMEM to enable/associate to a ring, or NULL to disable * @umem: UMEM to enable/associate to a ring, or NULL to disable
* @qid: Rx ring to (dis)associate UMEM (from)to * @qid: Rx ring to (dis)associate UMEM (from)to
* *
* This function enables or disables an UMEM to a certain ring. * This function enables or disables a UMEM to a certain ring.
* *
* Returns 0 on success, <0 on failure * Returns 0 on success, <0 on failure
**/ **/
@ -276,7 +276,7 @@ int i40e_xsk_umem_setup(struct i40e_vsi *vsi, struct xdp_umem *umem,
* @rx_ring: Rx ring * @rx_ring: Rx ring
* @xdp: xdp_buff used as input to the XDP program * @xdp: xdp_buff used as input to the XDP program
* *
* This function enables or disables an UMEM to a certain ring. * This function enables or disables a UMEM to a certain ring.
* *
* Returns any of I40E_XDP_{PASS, CONSUMED, TX, REDIR} * Returns any of I40E_XDP_{PASS, CONSUMED, TX, REDIR}
**/ **/

Просмотреть файл

@ -842,6 +842,7 @@ s32 igb_pll_workaround_i210(struct e1000_hw *hw)
nvm_word = E1000_INVM_DEFAULT_AL; nvm_word = E1000_INVM_DEFAULT_AL;
tmp_nvm = nvm_word | E1000_INVM_PLL_WO_VAL; tmp_nvm = nvm_word | E1000_INVM_PLL_WO_VAL;
igb_write_phy_reg_82580(hw, I347AT4_PAGE_SELECT, E1000_PHY_PLL_FREQ_PAGE); igb_write_phy_reg_82580(hw, I347AT4_PAGE_SELECT, E1000_PHY_PLL_FREQ_PAGE);
phy_word = E1000_PHY_PLL_UNCONF;
for (i = 0; i < E1000_MAX_PLL_TRIES; i++) { for (i = 0; i < E1000_MAX_PLL_TRIES; i++) {
/* check current state directly from internal PHY */ /* check current state directly from internal PHY */
igb_read_phy_reg_82580(hw, E1000_PHY_PLL_FREQ_REG, &phy_word); igb_read_phy_reg_82580(hw, E1000_PHY_PLL_FREQ_REG, &phy_word);

Просмотреть файл

@ -2262,7 +2262,9 @@ static s32 ixgbe_get_link_capabilities_X550em(struct ixgbe_hw *hw,
*autoneg = false; *autoneg = false;
if (hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || if (hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 ||
hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1) { hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1 ||
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 ||
hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1) {
*speed = IXGBE_LINK_SPEED_1GB_FULL; *speed = IXGBE_LINK_SPEED_1GB_FULL;
return 0; return 0;
} }