diff options
Diffstat (limited to 'drivers/net/e1000e/e1000.h')
-rw-r--r-- | drivers/net/e1000e/e1000.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/drivers/net/e1000e/e1000.h b/drivers/net/e1000e/e1000.h index ac4e506b4f88..0a1916b0419d 100644 --- a/drivers/net/e1000e/e1000.h +++ b/drivers/net/e1000e/e1000.h | |||
@@ -62,6 +62,11 @@ struct e1000_info; | |||
62 | e_printk(KERN_NOTICE, adapter, format, ## arg) | 62 | e_printk(KERN_NOTICE, adapter, format, ## arg) |
63 | 63 | ||
64 | 64 | ||
65 | /* Interrupt modes, as used by the IntMode paramter */ | ||
66 | #define E1000E_INT_MODE_LEGACY 0 | ||
67 | #define E1000E_INT_MODE_MSI 1 | ||
68 | #define E1000E_INT_MODE_MSIX 2 | ||
69 | |||
65 | /* Tx/Rx descriptor defines */ | 70 | /* Tx/Rx descriptor defines */ |
66 | #define E1000_DEFAULT_TXD 256 | 71 | #define E1000_DEFAULT_TXD 256 |
67 | #define E1000_MAX_TXD 4096 | 72 | #define E1000_MAX_TXD 4096 |
@@ -95,9 +100,11 @@ enum e1000_boards { | |||
95 | board_82571, | 100 | board_82571, |
96 | board_82572, | 101 | board_82572, |
97 | board_82573, | 102 | board_82573, |
103 | board_82574, | ||
98 | board_80003es2lan, | 104 | board_80003es2lan, |
99 | board_ich8lan, | 105 | board_ich8lan, |
100 | board_ich9lan, | 106 | board_ich9lan, |
107 | board_ich10lan, | ||
101 | }; | 108 | }; |
102 | 109 | ||
103 | struct e1000_queue_stats { | 110 | struct e1000_queue_stats { |
@@ -146,6 +153,12 @@ struct e1000_ring { | |||
146 | /* array of buffer information structs */ | 153 | /* array of buffer information structs */ |
147 | struct e1000_buffer *buffer_info; | 154 | struct e1000_buffer *buffer_info; |
148 | 155 | ||
156 | char name[IFNAMSIZ + 5]; | ||
157 | u32 ims_val; | ||
158 | u32 itr_val; | ||
159 | u16 itr_register; | ||
160 | int set_itr; | ||
161 | |||
149 | struct sk_buff *rx_skb_top; | 162 | struct sk_buff *rx_skb_top; |
150 | 163 | ||
151 | struct e1000_queue_stats stats; | 164 | struct e1000_queue_stats stats; |
@@ -274,6 +287,9 @@ struct e1000_adapter { | |||
274 | u32 test_icr; | 287 | u32 test_icr; |
275 | 288 | ||
276 | u32 msg_enable; | 289 | u32 msg_enable; |
290 | struct msix_entry *msix_entries; | ||
291 | int int_mode; | ||
292 | u32 eiac_mask; | ||
277 | 293 | ||
278 | u32 eeprom_wol; | 294 | u32 eeprom_wol; |
279 | u32 wol; | 295 | u32 wol; |
@@ -306,6 +322,7 @@ struct e1000_info { | |||
306 | #define FLAG_HAS_SWSM_ON_LOAD (1 << 6) | 322 | #define FLAG_HAS_SWSM_ON_LOAD (1 << 6) |
307 | #define FLAG_HAS_JUMBO_FRAMES (1 << 7) | 323 | #define FLAG_HAS_JUMBO_FRAMES (1 << 7) |
308 | #define FLAG_IS_ICH (1 << 9) | 324 | #define FLAG_IS_ICH (1 << 9) |
325 | #define FLAG_HAS_MSIX (1 << 10) | ||
309 | #define FLAG_HAS_SMART_POWER_DOWN (1 << 11) | 326 | #define FLAG_HAS_SMART_POWER_DOWN (1 << 11) |
310 | #define FLAG_IS_QUAD_PORT_A (1 << 12) | 327 | #define FLAG_IS_QUAD_PORT_A (1 << 12) |
311 | #define FLAG_IS_QUAD_PORT (1 << 13) | 328 | #define FLAG_IS_QUAD_PORT (1 << 13) |
@@ -364,6 +381,8 @@ extern int e1000e_setup_tx_resources(struct e1000_adapter *adapter); | |||
364 | extern void e1000e_free_rx_resources(struct e1000_adapter *adapter); | 381 | extern void e1000e_free_rx_resources(struct e1000_adapter *adapter); |
365 | extern void e1000e_free_tx_resources(struct e1000_adapter *adapter); | 382 | extern void e1000e_free_tx_resources(struct e1000_adapter *adapter); |
366 | extern void e1000e_update_stats(struct e1000_adapter *adapter); | 383 | extern void e1000e_update_stats(struct e1000_adapter *adapter); |
384 | extern void e1000e_set_interrupt_capability(struct e1000_adapter *adapter); | ||
385 | extern void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter); | ||
367 | 386 | ||
368 | extern unsigned int copybreak; | 387 | extern unsigned int copybreak; |
369 | 388 | ||
@@ -372,8 +391,10 @@ extern char *e1000e_get_hw_dev_name(struct e1000_hw *hw); | |||
372 | extern struct e1000_info e1000_82571_info; | 391 | extern struct e1000_info e1000_82571_info; |
373 | extern struct e1000_info e1000_82572_info; | 392 | extern struct e1000_info e1000_82572_info; |
374 | extern struct e1000_info e1000_82573_info; | 393 | extern struct e1000_info e1000_82573_info; |
394 | extern struct e1000_info e1000_82574_info; | ||
375 | extern struct e1000_info e1000_ich8_info; | 395 | extern struct e1000_info e1000_ich8_info; |
376 | extern struct e1000_info e1000_ich9_info; | 396 | extern struct e1000_info e1000_ich9_info; |
397 | extern struct e1000_info e1000_ich10_info; | ||
377 | extern struct e1000_info e1000_es2_info; | 398 | extern struct e1000_info e1000_es2_info; |
378 | 399 | ||
379 | extern s32 e1000e_read_pba_num(struct e1000_hw *hw, u32 *pba_num); | 400 | extern s32 e1000e_read_pba_num(struct e1000_hw *hw, u32 *pba_num); |
@@ -446,10 +467,13 @@ extern s32 e1000e_get_cable_length_m88(struct e1000_hw *hw); | |||
446 | extern s32 e1000e_get_phy_info_m88(struct e1000_hw *hw); | 467 | extern s32 e1000e_get_phy_info_m88(struct e1000_hw *hw); |
447 | extern s32 e1000e_read_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 *data); | 468 | extern s32 e1000e_read_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 *data); |
448 | extern s32 e1000e_write_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 data); | 469 | extern s32 e1000e_write_phy_reg_m88(struct e1000_hw *hw, u32 offset, u16 data); |
470 | extern s32 e1000e_phy_init_script_igp3(struct e1000_hw *hw); | ||
449 | extern enum e1000_phy_type e1000e_get_phy_type_from_id(u32 phy_id); | 471 | extern enum e1000_phy_type e1000e_get_phy_type_from_id(u32 phy_id); |
450 | extern s32 e1000e_determine_phy_address(struct e1000_hw *hw); | 472 | extern s32 e1000e_determine_phy_address(struct e1000_hw *hw); |
451 | extern s32 e1000e_write_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 data); | 473 | extern s32 e1000e_write_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 data); |
452 | extern s32 e1000e_read_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 *data); | 474 | extern s32 e1000e_read_phy_reg_bm(struct e1000_hw *hw, u32 offset, u16 *data); |
475 | extern s32 e1000e_read_phy_reg_bm2(struct e1000_hw *hw, u32 offset, u16 *data); | ||
476 | extern s32 e1000e_write_phy_reg_bm2(struct e1000_hw *hw, u32 offset, u16 data); | ||
453 | extern void e1000e_phy_force_speed_duplex_setup(struct e1000_hw *hw, u16 *phy_ctrl); | 477 | extern void e1000e_phy_force_speed_duplex_setup(struct e1000_hw *hw, u16 *phy_ctrl); |
454 | extern s32 e1000e_write_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 data); | 478 | extern s32 e1000e_write_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 data); |
455 | extern s32 e1000e_read_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 *data); | 479 | extern s32 e1000e_read_kmrn_reg(struct e1000_hw *hw, u32 offset, u16 *data); |
@@ -520,7 +544,12 @@ static inline s32 e1000_get_phy_info(struct e1000_hw *hw) | |||
520 | return hw->phy.ops.get_phy_info(hw); | 544 | return hw->phy.ops.get_phy_info(hw); |
521 | } | 545 | } |
522 | 546 | ||
523 | extern bool e1000e_check_mng_mode(struct e1000_hw *hw); | 547 | static inline s32 e1000e_check_mng_mode(struct e1000_hw *hw) |
548 | { | ||
549 | return hw->mac.ops.check_mng_mode(hw); | ||
550 | } | ||
551 | |||
552 | extern bool e1000e_check_mng_mode_generic(struct e1000_hw *hw); | ||
524 | extern bool e1000e_enable_tx_pkt_filtering(struct e1000_hw *hw); | 553 | extern bool e1000e_enable_tx_pkt_filtering(struct e1000_hw *hw); |
525 | extern s32 e1000e_mng_write_dhcp_info(struct e1000_hw *hw, u8 *buffer, u16 length); | 554 | extern s32 e1000e_mng_write_dhcp_info(struct e1000_hw *hw, u8 *buffer, u16 length); |
526 | 555 | ||