diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2013-09-28 03:13:08 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2013-10-22 08:33:43 -0400 |
commit | 1022cb6c35a8c815549566473504ac5feb0b5889 (patch) | |
tree | 95892e3c53e3a6dfa89a3a81ecf78e0fcf49648f /drivers | |
parent | bda301c9dc545f81bd70c1eecb8572bfc5eb524c (diff) |
i40e: do not flush after re-enabling interrupts
Hot path doesn't need read-flush after interrupt enable, and this
flush really causes a lot of extra cpu utilization.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_txrx.c | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index fbe7fe2914a9..69ed8014afbd 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c | |||
@@ -2560,7 +2560,7 @@ void i40e_irq_dynamic_enable(struct i40e_vsi *vsi, int vector) | |||
2560 | I40E_PFINT_DYN_CTLN_CLEARPBA_MASK | | 2560 | I40E_PFINT_DYN_CTLN_CLEARPBA_MASK | |
2561 | (I40E_ITR_NONE << I40E_PFINT_DYN_CTLN_ITR_INDX_SHIFT); | 2561 | (I40E_ITR_NONE << I40E_PFINT_DYN_CTLN_ITR_INDX_SHIFT); |
2562 | wr32(hw, I40E_PFINT_DYN_CTLN(vector - 1), val); | 2562 | wr32(hw, I40E_PFINT_DYN_CTLN(vector - 1), val); |
2563 | i40e_flush(hw); | 2563 | /* skip the flush */ |
2564 | } | 2564 | } |
2565 | 2565 | ||
2566 | /** | 2566 | /** |
@@ -2709,6 +2709,7 @@ static int i40e_vsi_enable_irq(struct i40e_vsi *vsi) | |||
2709 | i40e_irq_dynamic_enable_icr0(pf); | 2709 | i40e_irq_dynamic_enable_icr0(pf); |
2710 | } | 2710 | } |
2711 | 2711 | ||
2712 | i40e_flush(&pf->hw); | ||
2712 | return 0; | 2713 | return 0; |
2713 | } | 2714 | } |
2714 | 2715 | ||
diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index dc89e72fd0f4..fbc40cd29d23 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c | |||
@@ -559,8 +559,6 @@ static void i40e_update_dynamic_itr(struct i40e_q_vector *q_vector) | |||
559 | i40e_set_new_dynamic_itr(&q_vector->tx); | 559 | i40e_set_new_dynamic_itr(&q_vector->tx); |
560 | if (old_itr != q_vector->tx.itr) | 560 | if (old_itr != q_vector->tx.itr) |
561 | wr32(hw, reg_addr, q_vector->tx.itr); | 561 | wr32(hw, reg_addr, q_vector->tx.itr); |
562 | |||
563 | i40e_flush(hw); | ||
564 | } | 562 | } |
565 | 563 | ||
566 | /** | 564 | /** |