Commit 118e0e10 authored by Michal Swiatkowski's avatar Michal Swiatkowski Committed by Jeff Kirsher

ice: Set default value for ITR in alloc function

When the user sets itr_setting to zero from ethtool -C, the driver changes
this value to default in ice_cfg_itr (for example after changing ring
param). Remove code that sets default value in ice_cfg_itr and move it to
place where the driver allocates q_vectors.
Signed-off-by: default avatarMichal Swiatkowski <michal.swiatkowski@intel.com>
Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent 005881bc
...@@ -93,7 +93,8 @@ static int ice_pf_rxq_wait(struct ice_pf *pf, int pf_q, bool ena) ...@@ -93,7 +93,8 @@ static int ice_pf_rxq_wait(struct ice_pf *pf, int pf_q, bool ena)
* @vsi: the VSI being configured * @vsi: the VSI being configured
* @v_idx: index of the vector in the VSI struct * @v_idx: index of the vector in the VSI struct
* *
* We allocate one q_vector. If allocation fails we return -ENOMEM. * We allocate one q_vector and set default value for ITR setting associated
* with this q_vector. If allocation fails we return -ENOMEM.
*/ */
static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, int v_idx) static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, int v_idx)
{ {
...@@ -108,6 +109,8 @@ static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, int v_idx) ...@@ -108,6 +109,8 @@ static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, int v_idx)
q_vector->vsi = vsi; q_vector->vsi = vsi;
q_vector->v_idx = v_idx; q_vector->v_idx = v_idx;
q_vector->tx.itr_setting = ICE_DFLT_TX_ITR;
q_vector->rx.itr_setting = ICE_DFLT_RX_ITR;
if (vsi->type == ICE_VSI_VF) if (vsi->type == ICE_VSI_VF)
goto out; goto out;
/* only set affinity_mask if the CPU is online */ /* only set affinity_mask if the CPU is online */
...@@ -674,10 +677,6 @@ void ice_cfg_itr(struct ice_hw *hw, struct ice_q_vector *q_vector) ...@@ -674,10 +677,6 @@ void ice_cfg_itr(struct ice_hw *hw, struct ice_q_vector *q_vector)
if (q_vector->num_ring_rx) { if (q_vector->num_ring_rx) {
struct ice_ring_container *rc = &q_vector->rx; struct ice_ring_container *rc = &q_vector->rx;
/* if this value is set then don't overwrite with default */
if (!rc->itr_setting)
rc->itr_setting = ICE_DFLT_RX_ITR;
rc->target_itr = ITR_TO_REG(rc->itr_setting); rc->target_itr = ITR_TO_REG(rc->itr_setting);
rc->next_update = jiffies + 1; rc->next_update = jiffies + 1;
rc->current_itr = rc->target_itr; rc->current_itr = rc->target_itr;
...@@ -688,10 +687,6 @@ void ice_cfg_itr(struct ice_hw *hw, struct ice_q_vector *q_vector) ...@@ -688,10 +687,6 @@ void ice_cfg_itr(struct ice_hw *hw, struct ice_q_vector *q_vector)
if (q_vector->num_ring_tx) { if (q_vector->num_ring_tx) {
struct ice_ring_container *rc = &q_vector->tx; struct ice_ring_container *rc = &q_vector->tx;
/* if this value is set then don't overwrite with default */
if (!rc->itr_setting)
rc->itr_setting = ICE_DFLT_TX_ITR;
rc->target_itr = ITR_TO_REG(rc->itr_setting); rc->target_itr = ITR_TO_REG(rc->itr_setting);
rc->next_update = jiffies + 1; rc->next_update = jiffies + 1;
rc->current_itr = rc->target_itr; rc->current_itr = rc->target_itr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment