34 extern void e1000_init_function_pointers_82542(
struct e1000_hw *hw);
35 extern void e1000_init_function_pointers_82543(
struct e1000_hw *hw);
36 extern void e1000_init_function_pointers_82540(
struct e1000_hw *hw);
37 extern void e1000_init_function_pointers_82571(
struct e1000_hw *hw);
38 extern void e1000_init_function_pointers_82541(
struct e1000_hw *hw);
39 extern void e1000_init_function_pointers_80003es2lan(
struct e1000_hw *hw);
40 extern void e1000_init_function_pointers_ich8lan(
struct e1000_hw *hw);
42 s32 e1000_set_mac_type(
struct e1000_hw *hw);
43 s32 e1000_setup_init_funcs(
struct e1000_hw *hw,
bool init_device);
44 s32 e1000_init_mac_params(
struct e1000_hw *hw);
45 s32 e1000_init_nvm_params(
struct e1000_hw *hw);
46 s32 e1000_init_phy_params(
struct e1000_hw *hw);
47 void e1000_remove_device(
struct e1000_hw *hw);
48 s32 e1000_get_bus_info(
struct e1000_hw *hw);
49 void e1000_clear_vfta(
struct e1000_hw *hw);
50 void e1000_write_vfta(
struct e1000_hw *hw, u32 offset, u32 value);
51 s32 e1000_force_mac_fc(
struct e1000_hw *hw);
52 s32 e1000_check_for_link(
struct e1000_hw *hw);
53 s32 e1000_reset_hw(
struct e1000_hw *hw);
54 s32 e1000_init_hw(
struct e1000_hw *hw);
55 s32 e1000_setup_link(
struct e1000_hw *hw);
56 s32 e1000_get_speed_and_duplex(
struct e1000_hw *hw, u16 *speed,
58 s32 e1000_disable_pcie_master(
struct e1000_hw *hw);
59 void e1000_config_collision_dist(
struct e1000_hw *hw);
60 void e1000_rar_set(
struct e1000_hw *hw, u8 *addr, u32 index);
61 void e1000_mta_set(
struct e1000_hw *hw, u32 hash_value);
62 u32 e1000_hash_mc_addr(
struct e1000_hw *hw, u8 *mc_addr);
63 void e1000_update_mc_addr_list(
struct e1000_hw *hw,
64 u8 *mc_addr_list, u32 mc_addr_count,
65 u32 rar_used_count, u32 rar_count);
66 s32 e1000_setup_led(
struct e1000_hw *hw);
67 s32 e1000_cleanup_led(
struct e1000_hw *hw);
68 s32 e1000_check_reset_block(
struct e1000_hw *hw);
69 s32 e1000_blink_led(
struct e1000_hw *hw);
70 s32 e1000_led_on(
struct e1000_hw *hw);
71 s32 e1000_led_off(
struct e1000_hw *hw);
72 void e1000_reset_adaptive(
struct e1000_hw *hw);
73 void e1000_update_adaptive(
struct e1000_hw *hw);
74 s32 e1000_get_cable_length(
struct e1000_hw *hw);
75 s32 e1000_validate_mdi_setting(
struct e1000_hw *hw);
76 s32 e1000_read_phy_reg(
struct e1000_hw *hw, u32 offset, u16 *data);
77 s32 e1000_write_phy_reg(
struct e1000_hw *hw, u32 offset, u16 data);
78 s32 e1000_write_8bit_ctrl_reg(
struct e1000_hw *hw, u32 reg,
80 s32 e1000_get_phy_info(
struct e1000_hw *hw);
81 s32 e1000_phy_hw_reset(
struct e1000_hw *hw);
82 s32 e1000_phy_commit(
struct e1000_hw *hw);
83 void e1000_power_up_phy(
struct e1000_hw *hw);
84 void e1000_power_down_phy(
struct e1000_hw *hw);
85 s32 e1000_read_mac_addr(
struct e1000_hw *hw);
86 s32 e1000_read_pba_num(
struct e1000_hw *hw, u32 *part_num);
87 void e1000_reload_nvm(
struct e1000_hw *hw);
88 s32 e1000_update_nvm_checksum(
struct e1000_hw *hw);
89 s32 e1000_validate_nvm_checksum(
struct e1000_hw *hw);
90 s32 e1000_read_nvm(
struct e1000_hw *hw, u16 offset, u16 words, u16 *data);
91 s32 e1000_read_kmrn_reg(
struct e1000_hw *hw, u32 offset, u16 *data);
92 s32 e1000_write_kmrn_reg(
struct e1000_hw *hw, u32 offset, u16 data);
93 s32 e1000_write_nvm(
struct e1000_hw *hw, u16 offset, u16 words,
95 s32 e1000_wait_autoneg(
struct e1000_hw *hw);
96 s32 e1000_set_d3_lplu_state(
struct e1000_hw *hw,
bool active);
97 s32 e1000_set_d0_lplu_state(
struct e1000_hw *hw,
bool active);
98 bool e1000_check_mng_mode(
struct e1000_hw *hw);
99 bool e1000_enable_mng_pass_thru(
struct e1000_hw *hw);
100 bool e1000_enable_tx_pkt_filtering(
struct e1000_hw *hw);
101 s32 e1000_mng_enable_host_if(
struct e1000_hw *hw);
102 s32 e1000_mng_host_if_write(
struct e1000_hw *hw,
103 u8 *buffer, u16 length, u16 offset, u8 *sum);
104 s32 e1000_mng_write_cmd_header(
struct e1000_hw *hw,
105 struct e1000_host_mng_command_header *hdr);
106 s32 e1000_mng_write_dhcp_info(
struct e1000_hw * hw,
107 u8 *buffer, u16 length);
108 void e1000_tbi_adjust_stats_82543(
struct e1000_hw *hw,
109 struct e1000_hw_stats *stats,
110 u32 frame_len, u8 *mac_addr,
112 void e1000_set_tbi_compatibility_82543(
struct e1000_hw *hw,
114 bool e1000_tbi_sbp_enabled_82543(
struct e1000_hw *hw);
115 u32 e1000_translate_register_82542(u32 reg);
116 void e1000_init_script_state_82541(
struct e1000_hw *hw,
bool state);
117 bool e1000_get_laa_state_82571(
struct e1000_hw *hw);
118 void e1000_set_laa_state_82571(
struct e1000_hw *hw,
bool state);
119 void e1000_set_kmrn_lock_loss_workaround_ich8lan(
struct e1000_hw *hw,
121 void e1000_igp3_phy_powerdown_workaround_ich8lan(
struct e1000_hw *hw);
122 void e1000_gig_downshift_workaround_ich8lan(
struct e1000_hw *hw);
154 #define CARRIER_EXTENSION 0x0F 156 #define TBI_ACCEPT(a, status, errors, length, last_byte, min_frame_size, max_frame_size) \ 157 (e1000_tbi_sbp_enabled_82543(a) && \ 158 (((errors) & E1000_RXD_ERR_FRAME_ERR_MASK) == E1000_RXD_ERR_CE) && \ 159 ((last_byte) == CARRIER_EXTENSION) && \ 160 (((status) & E1000_RXD_STAT_VP) ? \ 161 (((length) > (min_frame_size - VLAN_TAG_SIZE)) && \ 162 ((length) <= (max_frame_size + 1))) : \ 163 (((length) > min_frame_size) && \ 164 ((length) <= (max_frame_size + VLAN_TAG_SIZE + 1)))))