diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/igb/e1000_82575.h | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/igb/e1000_82575.h')
-rw-r--r-- | drivers/net/igb/e1000_82575.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/drivers/net/igb/e1000_82575.h b/drivers/net/igb/e1000_82575.h index ebd146fd4e15..fbe1c99c193c 100644 --- a/drivers/net/igb/e1000_82575.h +++ b/drivers/net/igb/e1000_82575.h | |||
@@ -29,6 +29,8 @@ | |||
29 | #define _E1000_82575_H_ | 29 | #define _E1000_82575_H_ |
30 | 30 | ||
31 | extern void igb_shutdown_serdes_link_82575(struct e1000_hw *hw); | 31 | extern void igb_shutdown_serdes_link_82575(struct e1000_hw *hw); |
32 | extern void igb_power_up_serdes_link_82575(struct e1000_hw *hw); | ||
33 | extern void igb_power_down_phy_copper_82575(struct e1000_hw *hw); | ||
32 | extern void igb_rx_fifo_flush_82575(struct e1000_hw *hw); | 34 | extern void igb_rx_fifo_flush_82575(struct e1000_hw *hw); |
33 | 35 | ||
34 | #define ID_LED_DEFAULT_82575_SERDES ((ID_LED_DEF1_DEF2 << 12) | \ | 36 | #define ID_LED_DEFAULT_82575_SERDES ((ID_LED_DEF1_DEF2 << 12) | \ |
@@ -38,6 +40,11 @@ extern void igb_rx_fifo_flush_82575(struct e1000_hw *hw); | |||
38 | 40 | ||
39 | #define E1000_RAR_ENTRIES_82575 16 | 41 | #define E1000_RAR_ENTRIES_82575 16 |
40 | #define E1000_RAR_ENTRIES_82576 24 | 42 | #define E1000_RAR_ENTRIES_82576 24 |
43 | #define E1000_RAR_ENTRIES_82580 24 | ||
44 | |||
45 | #define E1000_SW_SYNCH_MB 0x00000100 | ||
46 | #define E1000_STAT_DEV_RST_SET 0x00100000 | ||
47 | #define E1000_CTRL_DEV_RST 0x20000000 | ||
41 | 48 | ||
42 | /* SRRCTL bit definitions */ | 49 | /* SRRCTL bit definitions */ |
43 | #define E1000_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */ | 50 | #define E1000_SRRCTL_BSIZEPKT_SHIFT 10 /* Shift _right_ */ |
@@ -66,6 +73,8 @@ extern void igb_rx_fifo_flush_82575(struct e1000_hw *hw); | |||
66 | E1000_EICR_RX_QUEUE3) | 73 | E1000_EICR_RX_QUEUE3) |
67 | 74 | ||
68 | /* Immediate Interrupt Rx (A.K.A. Low Latency Interrupt) */ | 75 | /* Immediate Interrupt Rx (A.K.A. Low Latency Interrupt) */ |
76 | #define E1000_IMIREXT_SIZE_BP 0x00001000 /* Packet size bypass */ | ||
77 | #define E1000_IMIREXT_CTRL_BP 0x00080000 /* Bypass check of ctrl bits */ | ||
69 | 78 | ||
70 | /* Receive Descriptor - Advanced */ | 79 | /* Receive Descriptor - Advanced */ |
71 | union e1000_adv_rx_desc { | 80 | union e1000_adv_rx_desc { |
@@ -98,6 +107,7 @@ union e1000_adv_rx_desc { | |||
98 | 107 | ||
99 | #define E1000_RXDADV_HDRBUFLEN_MASK 0x7FE0 | 108 | #define E1000_RXDADV_HDRBUFLEN_MASK 0x7FE0 |
100 | #define E1000_RXDADV_HDRBUFLEN_SHIFT 5 | 109 | #define E1000_RXDADV_HDRBUFLEN_SHIFT 5 |
110 | #define E1000_RXDADV_STAT_TS 0x10000 /* Pkt was time stamped */ | ||
101 | 111 | ||
102 | /* Transmit Descriptor - Advanced */ | 112 | /* Transmit Descriptor - Advanced */ |
103 | union e1000_adv_tx_desc { | 113 | union e1000_adv_tx_desc { |
@@ -167,6 +177,18 @@ struct e1000_adv_tx_context_desc { | |||
167 | #define E1000_DCA_TXCTRL_CPUID_SHIFT 24 /* Tx CPUID now in the last byte */ | 177 | #define E1000_DCA_TXCTRL_CPUID_SHIFT 24 /* Tx CPUID now in the last byte */ |
168 | #define E1000_DCA_RXCTRL_CPUID_SHIFT 24 /* Rx CPUID now in the last byte */ | 178 | #define E1000_DCA_RXCTRL_CPUID_SHIFT 24 /* Rx CPUID now in the last byte */ |
169 | 179 | ||
180 | /* ETQF register bit definitions */ | ||
181 | #define E1000_ETQF_FILTER_ENABLE (1 << 26) | ||
182 | #define E1000_ETQF_1588 (1 << 30) | ||
183 | |||
184 | /* FTQF register bit definitions */ | ||
185 | #define E1000_FTQF_VF_BP 0x00008000 | ||
186 | #define E1000_FTQF_1588_TIME_STAMP 0x08000000 | ||
187 | #define E1000_FTQF_MASK 0xF0000000 | ||
188 | #define E1000_FTQF_MASK_PROTO_BP 0x10000000 | ||
189 | #define E1000_FTQF_MASK_SOURCE_PORT_BP 0x80000000 | ||
190 | |||
191 | #define E1000_NVM_APME_82575 0x0400 | ||
170 | #define MAX_NUM_VFS 8 | 192 | #define MAX_NUM_VFS 8 |
171 | 193 | ||
172 | #define E1000_DTXSWC_VMDQ_LOOPBACK_EN (1 << 31) /* global VF LB enable */ | 194 | #define E1000_DTXSWC_VMDQ_LOOPBACK_EN (1 << 31) /* global VF LB enable */ |
@@ -199,12 +221,27 @@ struct e1000_adv_tx_context_desc { | |||
199 | #define E1000_VLVF_LVLAN 0x00100000 | 221 | #define E1000_VLVF_LVLAN 0x00100000 |
200 | #define E1000_VLVF_VLANID_ENABLE 0x80000000 | 222 | #define E1000_VLVF_VLANID_ENABLE 0x80000000 |
201 | 223 | ||
224 | #define E1000_VMVIR_VLANA_DEFAULT 0x40000000 /* Always use default VLAN */ | ||
225 | #define E1000_VMVIR_VLANA_NEVER 0x80000000 /* Never insert VLAN tag */ | ||
226 | |||
202 | #define E1000_IOVCTL 0x05BBC | 227 | #define E1000_IOVCTL 0x05BBC |
203 | #define E1000_IOVCTL_REUSE_VFQ 0x00000001 | 228 | #define E1000_IOVCTL_REUSE_VFQ 0x00000001 |
204 | 229 | ||
230 | #define E1000_RPLOLR_STRVLAN 0x40000000 | ||
231 | #define E1000_RPLOLR_STRCRC 0x80000000 | ||
232 | |||
233 | #define E1000_DTXCTL_8023LL 0x0004 | ||
234 | #define E1000_DTXCTL_VLAN_ADDED 0x0008 | ||
235 | #define E1000_DTXCTL_OOS_ENABLE 0x0010 | ||
236 | #define E1000_DTXCTL_MDP_EN 0x0020 | ||
237 | #define E1000_DTXCTL_SPOOF_INT 0x0040 | ||
238 | |||
205 | #define ALL_QUEUES 0xFFFF | 239 | #define ALL_QUEUES 0xFFFF |
206 | 240 | ||
241 | /* RX packet buffer size defines */ | ||
242 | #define E1000_RXPBS_SIZE_MASK_82576 0x0000007F | ||
207 | void igb_vmdq_set_loopback_pf(struct e1000_hw *, bool); | 243 | void igb_vmdq_set_loopback_pf(struct e1000_hw *, bool); |
208 | void igb_vmdq_set_replication_pf(struct e1000_hw *, bool); | 244 | void igb_vmdq_set_replication_pf(struct e1000_hw *, bool); |
245 | u16 igb_rxpbs_adjust_82580(u32 data); | ||
209 | 246 | ||
210 | #endif | 247 | #endif |