diff options
Diffstat (limited to 'drivers/net/e1000e/e1000.h')
| -rw-r--r-- | drivers/net/e1000e/e1000.h | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h index f9a31c82f87..cee882dd67b 100644 --- a/drivers/net/e1000e/e1000.h +++ b/drivers/net/e1000e/e1000.h @@ -153,6 +153,33 @@ struct e1000_info;  /* Time to wait before putting the device into D3 if there's no link (in ms). */  #define LINK_TIMEOUT		100 +#define DEFAULT_RDTR			0 +#define DEFAULT_RADV			8 +#define BURST_RDTR			0x20 +#define BURST_RADV			0x20 + +/* + * in the case of WTHRESH, it appears at least the 82571/2 hardware + * writes back 4 descriptors when WTHRESH=5, and 3 descriptors when + * WTHRESH=4, and since we want 64 bytes at a time written back, set + * it to 5 + */ +#define E1000_TXDCTL_DMA_BURST_ENABLE                          \ +	(E1000_TXDCTL_GRAN | /* set descriptor granularity */  \ +	 E1000_TXDCTL_COUNT_DESC |                             \ +	 (5 << 16) | /* wthresh must be +1 more than desired */\ +	 (1 << 8)  | /* hthresh */                             \ +	 0x1f)       /* pthresh */ + +#define E1000_RXDCTL_DMA_BURST_ENABLE                          \ +	(0x01000000 | /* set descriptor granularity */         \ +	 (4 << 16)  | /* set writeback threshold    */         \ +	 (4 << 8)   | /* set prefetch threshold     */         \ +	 0x20)        /* set hthresh                */ + +#define E1000_TIDV_FPD (1 << 31) +#define E1000_RDTR_FPD (1 << 31) +  enum e1000_boards {  	board_82571,  	board_82572, @@ -425,6 +452,8 @@ struct e1000_info {  #define FLAG2_DISABLE_ASPM_L1             (1 << 3)  #define FLAG2_HAS_PHY_STATS               (1 << 4)  #define FLAG2_HAS_EEE                     (1 << 5) +#define FLAG2_DMA_BURST                   (1 << 6) +#define FLAG2_DISABLE_AIM                 (1 << 8)  #define E1000_RX_DESC_PS(R, i)	    \  	(&(((union e1000_rx_desc_packet_split *)((R).desc))[i]))  |