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>
This commit is contained in:
committed by
Jeff Kirsher
parent
ca4929b6df
commit
9e4ab4c29a
@@ -1406,7 +1406,7 @@ skip_req_irq:
|
||||
PFINT_FW_CTL_CAUSE_ENA_M);
|
||||
wr32(hw, PFINT_FW_CTL, val);
|
||||
|
||||
itr_gran = hw->itr_gran_200;
|
||||
itr_gran = hw->itr_gran;
|
||||
|
||||
wr32(hw, GLINT_ITR(ICE_RX_ITR, pf->hw_oicr_idx),
|
||||
ITR_TO_REG(ICE_ITR_8K, itr_gran));
|
||||
|
||||
Reference in New Issue
Block a user