diff options
author | Brett Creeley <brett.creeley@intel.com> | 2018-09-19 20:23:19 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2018-10-02 10:19:30 -0400 |
commit | 9e4ab4c29a62d2ccbf4be42707669be2f42d391c (patch) | |
tree | 54327122a0cddba67d650678f355f808e4966844 /drivers/net/ethernet/intel/ice/ice_main.c | |
parent | ca4929b6df7c729c375c486c0ca53decb0eae9f5 (diff) |
ice: Add support for dynamic interrupt moderation
Currently there is no support for dynamic interrupt moderation. This
patch adds some initial code to support this. The following changes
were made:
1. Currently we are using multiple members to store the interrupt
granularity (itr_gran_25/50/100/200). This is not necessary because
we can query the device to determine what the interrupt granularity
should be set to, done by a new function ice_get_itr_intrl_gran.
2. Added intrl to ice_q_vector structure to support interrupt rate
limiting.
3. Added the function ice_intrl_usecs_to_reg for converting to a value
in usecs that the device understands.
4. Added call to write to the GLINT_RATE register. Disable intrl by
default for now.
5. Changed rx/tx_itr_setting to itr_setting because having both seems
redundant because a ring is either Tx or Rx.
6. Initialize itr_setting for both Tx/Rx rings in ice_vsi_alloc_rings()
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_main.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index f51857ead0f3..9638684f75ac 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c | |||
@@ -1406,7 +1406,7 @@ skip_req_irq: | |||
1406 | PFINT_FW_CTL_CAUSE_ENA_M); | 1406 | PFINT_FW_CTL_CAUSE_ENA_M); |
1407 | wr32(hw, PFINT_FW_CTL, val); | 1407 | wr32(hw, PFINT_FW_CTL, val); |
1408 | 1408 | ||
1409 | itr_gran = hw->itr_gran_200; | 1409 | itr_gran = hw->itr_gran; |
1410 | 1410 | ||
1411 | wr32(hw, GLINT_ITR(ICE_RX_ITR, pf->hw_oicr_idx), | 1411 | wr32(hw, GLINT_ITR(ICE_RX_ITR, pf->hw_oicr_idx), |
1412 | ITR_TO_REG(ICE_ITR_8K, itr_gran)); | 1412 | ITR_TO_REG(ICE_ITR_8K, itr_gran)); |