aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/i40evf/i40evf_main.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 064419e48f21..302c9743ef44 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -370,6 +370,8 @@ i40evf_map_vector_to_rxq(struct i40evf_adapter *adapter, int v_idx, int r_idx)
370{ 370{
371 struct i40e_q_vector *q_vector = &adapter->q_vectors[v_idx]; 371 struct i40e_q_vector *q_vector = &adapter->q_vectors[v_idx];
372 struct i40e_ring *rx_ring = &adapter->rx_rings[r_idx]; 372 struct i40e_ring *rx_ring = &adapter->rx_rings[r_idx];
373 struct i40e_vsi *vsi = &adapter->vsi;
374 struct i40e_hw *hw = &adapter->hw;
373 375
374 rx_ring->q_vector = q_vector; 376 rx_ring->q_vector = q_vector;
375 rx_ring->next = q_vector->rx.ring; 377 rx_ring->next = q_vector->rx.ring;
@@ -377,7 +379,10 @@ i40evf_map_vector_to_rxq(struct i40evf_adapter *adapter, int v_idx, int r_idx)
377 q_vector->rx.ring = rx_ring; 379 q_vector->rx.ring = rx_ring;
378 q_vector->rx.count++; 380 q_vector->rx.count++;
379 q_vector->rx.latency_range = I40E_LOW_LATENCY; 381 q_vector->rx.latency_range = I40E_LOW_LATENCY;
382 q_vector->rx.itr = ITR_TO_REG(vsi->rx_itr_setting);
383 q_vector->ring_mask |= BIT(r_idx);
380 q_vector->itr_countdown = ITR_COUNTDOWN_START; 384 q_vector->itr_countdown = ITR_COUNTDOWN_START;
385 wr32(hw, I40E_VFINT_ITRN1(I40E_RX_ITR, v_idx - 1), q_vector->rx.itr);
381} 386}
382 387
383/** 388/**
@@ -391,6 +396,8 @@ i40evf_map_vector_to_txq(struct i40evf_adapter *adapter, int v_idx, int t_idx)
391{ 396{
392 struct i40e_q_vector *q_vector = &adapter->q_vectors[v_idx]; 397 struct i40e_q_vector *q_vector = &adapter->q_vectors[v_idx];
393 struct i40e_ring *tx_ring = &adapter->tx_rings[t_idx]; 398 struct i40e_ring *tx_ring = &adapter->tx_rings[t_idx];
399 struct i40e_vsi *vsi = &adapter->vsi;
400 struct i40e_hw *hw = &adapter->hw;
394 401
395 tx_ring->q_vector = q_vector; 402 tx_ring->q_vector = q_vector;
396 tx_ring->next = q_vector->tx.ring; 403 tx_ring->next = q_vector->tx.ring;
@@ -398,9 +405,10 @@ i40evf_map_vector_to_txq(struct i40evf_adapter *adapter, int v_idx, int t_idx)
398 q_vector->tx.ring = tx_ring; 405 q_vector->tx.ring = tx_ring;
399 q_vector->tx.count++; 406 q_vector->tx.count++;
400 q_vector->tx.latency_range = I40E_LOW_LATENCY; 407 q_vector->tx.latency_range = I40E_LOW_LATENCY;
408 q_vector->tx.itr = ITR_TO_REG(vsi->tx_itr_setting);
401 q_vector->itr_countdown = ITR_COUNTDOWN_START; 409 q_vector->itr_countdown = ITR_COUNTDOWN_START;
402 q_vector->num_ringpairs++; 410 q_vector->num_ringpairs++;
403 q_vector->ring_mask |= BIT(t_idx); 411 wr32(hw, I40E_VFINT_ITRN1(I40E_TX_ITR, v_idx - 1), q_vector->tx.itr);
404} 412}
405 413
406/** 414/**
@@ -2269,10 +2277,8 @@ int i40evf_process_config(struct i40evf_adapter *adapter)
2269 adapter->vsi.back = adapter; 2277 adapter->vsi.back = adapter;
2270 adapter->vsi.base_vector = 1; 2278 adapter->vsi.base_vector = 1;
2271 adapter->vsi.work_limit = I40E_DEFAULT_IRQ_WORK; 2279 adapter->vsi.work_limit = I40E_DEFAULT_IRQ_WORK;
2272 adapter->vsi.rx_itr_setting = (I40E_ITR_DYNAMIC | 2280 adapter->vsi.rx_itr_setting = (I40E_ITR_DYNAMIC | I40E_ITR_RX_DEF);
2273 ITR_REG_TO_USEC(I40E_ITR_RX_DEF)); 2281 adapter->vsi.tx_itr_setting = (I40E_ITR_DYNAMIC | I40E_ITR_TX_DEF);
2274 adapter->vsi.tx_itr_setting = (I40E_ITR_DYNAMIC |
2275 ITR_REG_TO_USEC(I40E_ITR_TX_DEF));
2276 vsi->netdev = adapter->netdev; 2282 vsi->netdev = adapter->netdev;
2277 vsi->qs_handle = adapter->vsi_res->qset_handle; 2283 vsi->qs_handle = adapter->vsi_res->qset_handle;
2278 if (vfres->vf_offload_flags & I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF) { 2284 if (vfres->vf_offload_flags & I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF) {