diff options
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe')
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 15 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 20 | 
2 files changed, 15 insertions, 20 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c index 5e508b614dc..8c74f739011 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c @@ -824,6 +824,21 @@ static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter,  	/* initialize pointer to rings */  	ring = q_vector->ring; +	/* intialize ITR */ +	if (txr_count && !rxr_count) { +		/* tx only vector */ +		if (adapter->tx_itr_setting == 1) +			q_vector->itr = IXGBE_10K_ITR; +		else +			q_vector->itr = adapter->tx_itr_setting; +	} else { +		/* rx or rx/tx vector */ +		if (adapter->rx_itr_setting == 1) +			q_vector->itr = IXGBE_20K_ITR; +		else +			q_vector->itr = adapter->rx_itr_setting; +	} +  	while (txr_count) {  		/* assign generic ring traits */  		ring->dev = &adapter->pdev->dev; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 26bfaaee951..8b1a38bec23 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -1976,20 +1976,6 @@ static void ixgbe_configure_msix(struct ixgbe_adapter *adapter)  		ixgbe_for_each_ring(ring, q_vector->tx)  			ixgbe_set_ivar(adapter, 1, ring->reg_idx, v_idx); -		if (q_vector->tx.ring && !q_vector->rx.ring) { -			/* tx only vector */ -			if (adapter->tx_itr_setting == 1) -				q_vector->itr = IXGBE_10K_ITR; -			else -				q_vector->itr = adapter->tx_itr_setting; -		} else { -			/* rx or rx/tx vector */ -			if (adapter->rx_itr_setting == 1) -				q_vector->itr = IXGBE_20K_ITR; -			else -				q_vector->itr = adapter->rx_itr_setting; -		} -  		ixgbe_write_eitr(q_vector);  	} @@ -2761,12 +2747,6 @@ static void ixgbe_configure_msi_and_legacy(struct ixgbe_adapter *adapter)  {  	struct ixgbe_q_vector *q_vector = adapter->q_vector[0]; -	/* rx/tx vector */ -	if (adapter->rx_itr_setting == 1) -		q_vector->itr = IXGBE_20K_ITR; -	else -		q_vector->itr = adapter->rx_itr_setting; -  	ixgbe_write_eitr(q_vector);  	ixgbe_set_ivar(adapter, 0, 0, 0);  |