From: Jacob Keller Date: Fri, 14 Jul 2017 13:10:09 +0000 (-0400) Subject: i40e: move enabling icr0 into i40e_update_enable_itr X-Git-Tag: v4.1.12-117.0_27200813_3~212 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=557e54a7823ad693fee4fd7ea6a6ed7cf5abfc63;p=users%2Fjedix%2Flinux-maple.git i40e: move enabling icr0 into i40e_update_enable_itr If we don't have MSI-X enabled, we handle interrupts on all icr0. This is a special case, so let's move the conditional into i40e_update_enable_itr() in order to make i40e_napi_poll easier to read about. Signed-off-by: Jacob Keller Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher Orabug: 26785018 (cherry picked from commit 9254c0e34e4253c41fdcd4670b754506ce20d3eb) Signed-off-by: Jack Vogel Reviewed-by: Kyle Fortin --- diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index 30da2b804c05..8247d45c348b 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -2057,6 +2057,12 @@ static inline void i40e_update_enable_itr(struct i40e_vsi *vsi, int idx = q_vector->v_idx; int rx_itr_setting, tx_itr_setting; + /* If we don't have MSIX, then we only need to re-enable icr0 */ + if (!(vsi->back->flags & I40E_FLAG_MSIX_ENABLED)) { + i40e_irq_dynamic_enable_icr0(vsi->back, false); + return; + } + vector = (q_vector->v_idx + vsi->base_vector); /* avoid dynamic calculation if in countdown mode OR if @@ -2208,8 +2214,6 @@ tx_only: */ if (!clean_complete) i40e_force_wb(vsi, q_vector); - else if (!(vsi->back->flags & I40E_FLAG_MSIX_ENABLED)) - i40e_irq_dynamic_enable_icr0(vsi->back, false); else i40e_update_enable_itr(vsi, q_vector);