diff options
| -rw-r--r-- | drivers/net/ethernet/intel/igb/e1000_regs.h | 1 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 5 | 
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_regs.h b/drivers/net/ethernet/intel/igb/e1000_regs.h index 35d1e4f2c92..10efcd88dca 100644 --- a/drivers/net/ethernet/intel/igb/e1000_regs.h +++ b/drivers/net/ethernet/intel/igb/e1000_regs.h @@ -117,6 +117,7 @@  /* TX Rate Limit Registers */  #define E1000_RTTDQSEL	0x3604	/* Tx Desc Plane Queue Select - WO */ +#define E1000_RTTBCNRM	0x3690	/* Tx BCN Rate-scheduler MMW */  #define E1000_RTTBCNRC	0x36B0	/* Tx BCN Rate-Scheduler Config - WO */  /* Split and Replication RX Control - RW */ diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index dd3bfe8cd36..64090549722 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -6997,6 +6997,11 @@ static void igb_set_vf_rate_limit(struct e1000_hw *hw, int vf, int tx_rate,  	}  	wr32(E1000_RTTDQSEL, vf); /* vf X uses queue X */ +	/* +	 * Set global transmit compensation time to the MMW_SIZE in RTTBCNRM +	 * register. MMW_SIZE=0x014 if 9728-byte jumbo is supported. +	 */ +	wr32(E1000_RTTBCNRM, 0x14);  	wr32(E1000_RTTBCNRC, bcnrc_val);  }  |