FreeBSD kernel IXGBE device code
ixgbe_api.h
Go to the documentation of this file.
1/******************************************************************************
2 SPDX-License-Identifier: BSD-3-Clause
3
4 Copyright (c) 2001-2020, Intel Corporation
5 All rights reserved.
6
7 Redistribution and use in source and binary forms, with or without
8 modification, are permitted provided that the following conditions are met:
9
10 1. Redistributions of source code must retain the above copyright notice,
11 this list of conditions and the following disclaimer.
12
13 2. Redistributions in binary form must reproduce the above copyright
14 notice, this list of conditions and the following disclaimer in the
15 documentation and/or other materials provided with the distribution.
16
17 3. Neither the name of the Intel Corporation nor the names of its
18 contributors may be used to endorse or promote products derived from
19 this software without specific prior written permission.
20
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 POSSIBILITY OF SUCH DAMAGE.
32
33******************************************************************************/
34/*$FreeBSD$*/
35
36#ifndef _IXGBE_API_H_
37#define _IXGBE_API_H_
38
39#include "ixgbe_type.h"
40
41void ixgbe_dcb_get_rtrup2tc(struct ixgbe_hw *hw, u8 *map);
42
44
45extern s32 ixgbe_init_ops_82598(struct ixgbe_hw *hw);
46extern s32 ixgbe_init_ops_82599(struct ixgbe_hw *hw);
47extern s32 ixgbe_init_ops_X540(struct ixgbe_hw *hw);
48extern s32 ixgbe_init_ops_X550(struct ixgbe_hw *hw);
49extern s32 ixgbe_init_ops_X550EM(struct ixgbe_hw *hw);
50extern s32 ixgbe_init_ops_X550EM_x(struct ixgbe_hw *hw);
51extern s32 ixgbe_init_ops_X550EM_a(struct ixgbe_hw *hw);
52extern s32 ixgbe_init_ops_vf(struct ixgbe_hw *hw);
53
55s32 ixgbe_init_hw(struct ixgbe_hw *hw);
56s32 ixgbe_reset_hw(struct ixgbe_hw *hw);
57s32 ixgbe_start_hw(struct ixgbe_hw *hw);
61s32 ixgbe_get_mac_addr(struct ixgbe_hw *hw, u8 *mac_addr);
66s32 ixgbe_read_pba_num(struct ixgbe_hw *hw, u32 *pba_num);
67s32 ixgbe_read_pba_string(struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size);
68
70s32 ixgbe_reset_phy(struct ixgbe_hw *hw);
71s32 ixgbe_read_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type,
72 u16 *phy_data);
73s32 ixgbe_write_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type,
74 u16 phy_data);
75
79 ixgbe_link_speed *speed,
80 bool *link_up);
82 ixgbe_link_speed speed,
83 bool autoneg_wait_to_complete);
84s32 ixgbe_set_phy_power(struct ixgbe_hw *, bool on);
85void ixgbe_disable_tx_laser(struct ixgbe_hw *hw);
86void ixgbe_enable_tx_laser(struct ixgbe_hw *hw);
87void ixgbe_flap_tx_laser(struct ixgbe_hw *hw);
89 bool autoneg_wait_to_complete);
91 bool autoneg_wait_to_complete);
93 bool *link_up, bool link_up_wait_to_complete);
95 bool *autoneg);
96s32 ixgbe_led_on(struct ixgbe_hw *hw, u32 index);
97s32 ixgbe_led_off(struct ixgbe_hw *hw, u32 index);
98s32 ixgbe_blink_led_start(struct ixgbe_hw *hw, u32 index);
99s32 ixgbe_blink_led_stop(struct ixgbe_hw *hw, u32 index);
100
102s32 ixgbe_write_eeprom(struct ixgbe_hw *hw, u16 offset, u16 data);
103s32 ixgbe_write_eeprom_buffer(struct ixgbe_hw *hw, u16 offset,
104 u16 words, u16 *data);
105s32 ixgbe_read_eeprom(struct ixgbe_hw *hw, u16 offset, u16 *data);
106s32 ixgbe_read_eeprom_buffer(struct ixgbe_hw *hw, u16 offset,
107 u16 words, u16 *data);
108
109s32 ixgbe_validate_eeprom_checksum(struct ixgbe_hw *hw, u16 *checksum_val);
111
112s32 ixgbe_insert_mac_addr(struct ixgbe_hw *hw, u8 *addr, u32 vmdq);
113s32 ixgbe_set_rar(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq,
114 u32 enable_addr);
115s32 ixgbe_clear_rar(struct ixgbe_hw *hw, u32 index);
116s32 ixgbe_set_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq);
117s32 ixgbe_set_vmdq_san_mac(struct ixgbe_hw *hw, u32 vmdq);
118s32 ixgbe_clear_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq);
121s32 ixgbe_update_uc_addr_list(struct ixgbe_hw *hw, u8 *addr_list,
122 u32 addr_count, ixgbe_mc_addr_itr func);
123s32 ixgbe_update_mc_addr_list(struct ixgbe_hw *hw, u8 *mc_addr_list,
124 u32 mc_addr_count, ixgbe_mc_addr_itr func,
125 bool clear);
126void ixgbe_add_uc_addr(struct ixgbe_hw *hw, u8 *addr_list, u32 vmdq);
127s32 ixgbe_enable_mc(struct ixgbe_hw *hw);
128s32 ixgbe_disable_mc(struct ixgbe_hw *hw);
129s32 ixgbe_clear_vfta(struct ixgbe_hw *hw);
130s32 ixgbe_set_vfta(struct ixgbe_hw *hw, u32 vlan,
131 u32 vind, bool vlan_on, bool vlvf_bypass);
132s32 ixgbe_set_vlvf(struct ixgbe_hw *hw, u32 vlan, u32 vind,
133 bool vlan_on, u32 *vfta_delta, u32 vfta,
134 bool vlvf_bypass);
135s32 ixgbe_fc_enable(struct ixgbe_hw *hw);
136s32 ixgbe_setup_fc(struct ixgbe_hw *hw);
137s32 ixgbe_set_fw_drv_ver(struct ixgbe_hw *hw, u8 maj, u8 min, u8 build,
138 u8 ver, u16 len, char *driver_ver);
141void ixgbe_set_mta(struct ixgbe_hw *hw, u8 *mc_addr);
143 u16 *firmware_version);
144s32 ixgbe_read_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 *val);
145s32 ixgbe_write_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 val);
147s32 ixgbe_read_i2c_eeprom(struct ixgbe_hw *hw, u8 byte_offset, u8 *eeprom_data);
149s32 ixgbe_enable_rx_dma(struct ixgbe_hw *hw, u32 regval);
154s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 fdirctrl);
155s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 fdirctrl,
156 bool cloud_mode);
158 union ixgbe_atr_hash_dword input,
159 union ixgbe_atr_hash_dword common,
160 u8 queue);
162 union ixgbe_atr_input *input_mask, bool cloud_mode);
164 union ixgbe_atr_input *input,
165 u16 soft_id, u8 queue, bool cloud_mode);
167 union ixgbe_atr_input *input,
168 u16 soft_id);
170 union ixgbe_atr_input *input,
171 union ixgbe_atr_input *mask,
172 u16 soft_id,
173 u8 queue,
174 bool cloud_mode);
176 union ixgbe_atr_input *mask);
178 union ixgbe_atr_hash_dword common);
180s32 ixgbe_read_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr,
181 u8 *data);
182s32 ixgbe_read_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
183 u8 dev_addr, u8 *data);
184s32 ixgbe_read_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val);
185s32 ixgbe_read_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val);
186s32 ixgbe_write_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr,
187 u8 data);
188void ixgbe_set_fdir_drop_queue_82599(struct ixgbe_hw *hw, u8 dropqueue);
189s32 ixgbe_write_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
190 u8 dev_addr, u8 data);
191s32 ixgbe_write_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val);
192s32 ixgbe_write_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val);
193s32 ixgbe_write_i2c_eeprom(struct ixgbe_hw *hw, u8 byte_offset, u8 eeprom_data);
194s32 ixgbe_get_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr);
195s32 ixgbe_set_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr);
196s32 ixgbe_get_device_caps(struct ixgbe_hw *hw, u16 *device_caps);
198void ixgbe_release_swfw_semaphore(struct ixgbe_hw *hw, u32 mask);
199void ixgbe_init_swfw_semaphore(struct ixgbe_hw *hw);
200s32 ixgbe_get_wwn_prefix(struct ixgbe_hw *hw, u16 *wwnn_prefix,
201 u16 *wwpn_prefix);
203s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status);
204s32 ixgbe_bypass_set(struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action);
205s32 ixgbe_bypass_rd_eep(struct ixgbe_hw *hw, u32 addr, u8 *value);
206bool ixgbe_bypass_valid_rd(struct ixgbe_hw *hw, u32 in_reg, u32 out_reg);
207s32 ixgbe_dmac_config(struct ixgbe_hw *hw);
210s32 ixgbe_setup_eee(struct ixgbe_hw *hw, bool enable_eee);
211void ixgbe_set_source_address_pruning(struct ixgbe_hw *hw, bool enable,
212 unsigned int vf);
213void ixgbe_set_ethertype_anti_spoofing(struct ixgbe_hw *hw, bool enable,
214 int vf);
215s32 ixgbe_read_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr,
216 u32 device_type, u32 *phy_data);
217s32 ixgbe_write_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr,
218 u32 device_type, u32 phy_data);
219void ixgbe_disable_mdd(struct ixgbe_hw *hw);
220void ixgbe_enable_mdd(struct ixgbe_hw *hw);
221void ixgbe_mdd_event(struct ixgbe_hw *hw, u32 *vf_bitmap);
222void ixgbe_restore_mdd_vf(struct ixgbe_hw *hw, u32 vf);
223bool ixgbe_fw_recovery_mode(struct ixgbe_hw *hw);
224s32 ixgbe_enter_lplu(struct ixgbe_hw *hw);
225s32 ixgbe_handle_lasi(struct ixgbe_hw *hw);
227void ixgbe_disable_rx(struct ixgbe_hw *hw);
228void ixgbe_enable_rx(struct ixgbe_hw *hw);
229s32 ixgbe_negotiate_fc(struct ixgbe_hw *hw, u32 adv_reg, u32 lp_reg,
230 u32 adv_sym, u32 adv_asm, u32 lp_sym, u32 lp_asm);
231
232#endif /* _IXGBE_API_H_ */
s32 ixgbe_check_phy_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *link_up)
Definition: ixgbe_api.c:624
void ixgbe_set_mta(struct ixgbe_hw *hw, u8 *mc_addr)
s32 ixgbe_get_wwn_prefix(struct ixgbe_hw *hw, u16 *wwnn_prefix, u16 *wwpn_prefix)
Definition: ixgbe_api.c:402
s32 ixgbe_read_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 *data)
Definition: ixgbe_api.c:1518
s32 ixgbe_setup_eee(struct ixgbe_hw *hw, bool enable_eee)
Definition: ixgbe_api.c:1252
void ixgbe_mdd_event(struct ixgbe_hw *hw, u32 *vf_bitmap)
Definition: ixgbe_api.c:1344
s32 ixgbe_write_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 data)
Definition: ixgbe_api.c:1582
s32 ixgbe_write_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 data)
Definition: ixgbe_api.c:1599
void ixgbe_set_fdir_drop_queue_82599(struct ixgbe_hw *hw, u8 dropqueue)
Definition: ixgbe_82599.c:1415
bool ixgbe_verify_lesm_fw_enabled_82599(struct ixgbe_hw *hw)
Definition: ixgbe_82599.c:2375
s32 ixgbe_fc_enable(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1143
s32 ixgbe_write_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u32 phy_data)
Definition: ixgbe_api.c:1309
u32 ixgbe_get_num_rx_addrs(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1017
s32 ixgbe_get_thermal_sensor_data(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1186
s32 ixgbe_set_mac_type(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:139
s32 ixgbe_init_rx_addrs(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1007
s32 ixgbe_write_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u16 phy_data)
Definition: ixgbe_api.c:579
s32 ixgbe_bypass_set(struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action)
Definition: ixgbe_api.c:1449
s32 ixgbe_write_i2c_eeprom(struct ixgbe_hw *hw, u8 byte_offset, u8 eeprom_data)
Definition: ixgbe_api.c:1645
s32 ixgbe_init_ops_82599(struct ixgbe_hw *hw)
Definition: ixgbe_82599.c:322
bool ixgbe_bypass_valid_rd(struct ixgbe_hw *hw, u32 in_reg, u32 out_reg)
Definition: ixgbe_api.c:1431
s32 ixgbe_disable_mc(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1081
void ixgbe_set_rate_select_speed(struct ixgbe_hw *hw, ixgbe_link_speed speed)
Definition: ixgbe_api.c:1780
s32 ixgbe_setup_link(struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg_wait_to_complete)
Definition: ixgbe_api.c:722
s32 ixgbe_fdir_set_input_mask_82599(struct ixgbe_hw *hw, union ixgbe_atr_input *input_mask, bool cloud_mode)
Definition: ixgbe_82599.c:1704
s32 ixgbe_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *link_up, bool link_up_wait_to_complete)
Definition: ixgbe_api.c:667
s32 ixgbe_set_phy_power(struct ixgbe_hw *, bool on)
Definition: ixgbe_api.c:652
void ixgbe_add_uc_addr(struct ixgbe_hw *hw, u8 *addr_list, u32 vmdq)
s32 ixgbe_dmac_config(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1211
s32 ixgbe_acquire_swfw_semaphore(struct ixgbe_hw *hw, u32 mask)
Definition: ixgbe_api.c:1725
void ixgbe_dcb_get_rtrup2tc(struct ixgbe_hw *hw, u8 *map)
Definition: ixgbe_api.c:68
s32 ixgbe_init_eeprom_params(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:821
s32 ixgbe_set_vlvf(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on, u32 *vfta_delta, u32 vfta, bool vlvf_bypass)
Definition: ixgbe_api.c:1129
s32 ixgbe_read_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
Definition: ixgbe_api.c:1566
s32 ixgbe_enable_sec_rx_path(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1711
s32 ixgbe_clear_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq)
Definition: ixgbe_api.c:993
s32 ixgbe_get_link_capabilities(struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *autoneg)
Definition: ixgbe_api.c:755
s32 ixgbe_reset_phy(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:520
s32 ixgbe_read_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u32 *phy_data)
Definition: ixgbe_api.c:1293
s32 ixgbe_init_ops_X550(struct ixgbe_hw *hw)
Definition: ixgbe_x550.c:54
s32 ixgbe_get_mac_addr(struct ixgbe_hw *hw, u8 *mac_addr)
Definition: ixgbe_api.c:347
s32 ixgbe_reinit_fdir_tables_82599(struct ixgbe_hw *hw)
Definition: ixgbe_82599.c:1235
s32 ixgbe_write_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 val)
Definition: ixgbe_api.c:1490
s32 ixgbe_write_eeprom_buffer(struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
Definition: ixgbe_api.c:855
s32 ixgbe_get_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr)
Definition: ixgbe_api.c:361
bool ixgbe_fw_recovery_mode(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1368
s32 ixgbe_dmac_config_tcs(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1236
s32 ixgbe_set_rar(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq, u32 enable_addr)
Definition: ixgbe_api.c:943
s32 ixgbe_read_pba_num(struct ixgbe_hw *hw, u32 *pba_num)
Definition: ixgbe_api.c:493
s32 ixgbe_write_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
Definition: ixgbe_api.c:1631
s32 ixgbe_update_eeprom_checksum(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:911
s32 ixgbe_read_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 *data)
Definition: ixgbe_api.c:1534
void ixgbe_enable_mdd(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1332
s32 ixgbe_get_fcoe_boot_status(struct ixgbe_hw *hw, u16 *bs)
Definition: ixgbe_api.c:417
s32 ixgbe_read_i2c_eeprom(struct ixgbe_hw *hw, u8 byte_offset, u8 *eeprom_data)
Definition: ixgbe_api.c:1661
s32 ixgbe_blink_led_start(struct ixgbe_hw *hw, u32 index)
Definition: ixgbe_api.c:795
s32 ixgbe_update_uc_addr_list(struct ixgbe_hw *hw, u8 *addr_list, u32 addr_count, ixgbe_mc_addr_itr func)
Definition: ixgbe_api.c:1033
s32 ixgbe_read_eeprom_buffer(struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
Definition: ixgbe_api.c:886
void ixgbe_atr_compute_perfect_hash_82599(union ixgbe_atr_input *input, union ixgbe_atr_input *mask)
Definition: ixgbe_82599.c:1619
s32 ixgbe_read_eeprom(struct ixgbe_hw *hw, u16 offset, u16 *data)
Definition: ixgbe_api.c:871
s32 ixgbe_enable_rx_dma(struct ixgbe_hw *hw, u32 regval)
Definition: ixgbe_api.c:1687
s32 ixgbe_init_fdir_perfect_82599(struct ixgbe_hw *hw, u32 fdirctrl, bool cloud_mode)
Definition: ixgbe_82599.c:1378
void ixgbe_fdir_add_signature_filter_82599(struct ixgbe_hw *hw, union ixgbe_atr_hash_dword input, union ixgbe_atr_hash_dword common, u8 queue)
Definition: ixgbe_82599.c:1545
s32 ixgbe_fdir_erase_perfect_filter_82599(struct ixgbe_hw *hw, union ixgbe_atr_input *input, u16 soft_id)
Definition: ixgbe_82599.c:1971
s32 ixgbe_led_off(struct ixgbe_hw *hw, u32 index)
Definition: ixgbe_api.c:782
s32 ixgbe_validate_eeprom_checksum(struct ixgbe_hw *hw, u16 *checksum_val)
Definition: ixgbe_api.c:901
s32 ixgbe_init_fdir_signature_82599(struct ixgbe_hw *hw, u32 fdirctrl)
Definition: ixgbe_82599.c:1351
s32 ixgbe_clear_vfta(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1093
s32 ixgbe_get_phy_firmware_version(struct ixgbe_hw *hw, u16 *firmware_version)
Definition: ixgbe_api.c:541
s32 ixgbe_enable_mc(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1069
s32 ixgbe_led_on(struct ixgbe_hw *hw, u32 index)
Definition: ixgbe_api.c:769
s32 ixgbe_init_ops_82598(struct ixgbe_hw *hw)
Definition: ixgbe_82598.c:120
s32 ixgbe_set_fw_drv_ver(struct ixgbe_hw *hw, u8 maj, u8 min, u8 build, u8 ver, u16 len, char *driver_ver)
Definition: ixgbe_api.c:1171
s32 ixgbe_disable_sec_rx_path(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1699
s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status)
Definition: ixgbe_api.c:1413
s32 ixgbe_write_eeprom(struct ixgbe_hw *hw, u16 offset, u16 data)
Definition: ixgbe_api.c:838
void ixgbe_init_swfw_semaphore(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1754
void ixgbe_release_swfw_semaphore(struct ixgbe_hw *hw, u32 mask)
Definition: ixgbe_api.c:1739
s32 ixgbe_set_vfta(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on, bool vlvf_bypass)
Definition: ixgbe_api.c:1109
u64 ixgbe_get_supported_physical_layer(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1674
s32 ixgbe_stop_adapter(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:467
s32 ixgbe_init_shared_code(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:86
u32 ixgbe_get_num_of_rx_queues(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:453
s32 ixgbe_setup_mac_link(struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg_wait_to_complete)
Definition: ixgbe_api.c:739
void ixgbe_flap_tx_laser(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:707
s32 ixgbe_dmac_update_tcs(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1223
void ixgbe_enable_relaxed_ordering(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:306
s32 ixgbe_init_ops_X550EM_x(struct ixgbe_hw *hw)
Definition: ixgbe_x550.c:851
s32 ixgbe_get_bus_info(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:430
s32 ixgbe_read_pba_string(struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size)
Definition: ixgbe_api.c:481
void ixgbe_enable_rx(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1767
s32 ixgbe_set_vmdq_san_mac(struct ixgbe_hw *hw, u32 vmdq)
Definition: ixgbe_api.c:981
s32 ixgbe_init_ops_X550EM(struct ixgbe_hw *hw)
Definition: ixgbe_x550.c:605
s32 ixgbe_start_hw(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:292
s32 ixgbe_init_ops_X540(struct ixgbe_hw *hw)
Definition: ixgbe_x540.c:60
s32 ixgbe_setup_internal_phy(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:609
void ixgbe_set_source_address_pruning(struct ixgbe_hw *hw, bool enable, unsigned int vf)
Definition: ixgbe_api.c:1264
s32 ixgbe_handle_lasi(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1399
s32 ixgbe_clear_rar(struct ixgbe_hw *hw, u32 index)
Definition: ixgbe_api.c:957
s32 ixgbe_read_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 *val)
Definition: ixgbe_api.c:1476
s32 ixgbe_init_ops_X550EM_a(struct ixgbe_hw *hw)
Definition: ixgbe_x550.c:793
void ixgbe_restore_mdd_vf(struct ixgbe_hw *hw, u32 vf)
Definition: ixgbe_api.c:1357
s32 ixgbe_get_device_caps(struct ixgbe_hw *hw, u16 *device_caps)
Definition: ixgbe_api.c:387
u32 ixgbe_get_num_of_tx_queues(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:442
s32 ixgbe_reset_hw(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:276
s32 ixgbe_identify_phy(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:504
s32 ixgbe_bypass_rd_eep(struct ixgbe_hw *hw, u32 addr, u8 *value)
Definition: ixgbe_api.c:1462
s32 ixgbe_setup_fc(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1155
s32 ixgbe_init_hw(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:263
s32 ixgbe_setup_phy_link(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:595
s32 ixgbe_blink_led_stop(struct ixgbe_hw *hw, u32 index)
Definition: ixgbe_api.c:808
s32 ixgbe_update_mc_addr_list(struct ixgbe_hw *hw, u8 *mc_addr_list, u32 mc_addr_count, ixgbe_mc_addr_itr func, bool clear)
Definition: ixgbe_api.c:1054
void ixgbe_disable_rx(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1761
s32 ixgbe_set_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr)
Definition: ixgbe_api.c:374
s32 ixgbe_read_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
Definition: ixgbe_api.c:1551
void ixgbe_disable_mdd(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1321
s32 ixgbe_fdir_add_perfect_filter_82599(struct ixgbe_hw *hw, union ixgbe_atr_input *input, union ixgbe_atr_input *mask, u16 soft_id, u8 queue, bool cloud_mode)
Definition: ixgbe_82599.c:2019
void ixgbe_set_ethertype_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf)
Definition: ixgbe_api.c:1278
s32 ixgbe_mng_fw_enabled(struct ixgbe_hw *hw)
s32 ixgbe_read_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u16 *phy_data)
Definition: ixgbe_api.c:560
void ixgbe_disable_tx_laser(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:681
s32 ixgbe_setup_phy_link_speed(struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg_wait_to_complete)
Definition: ixgbe_api.c:639
s32 ixgbe_write_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
Definition: ixgbe_api.c:1616
s32 ixgbe_clear_hw_cntrs(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:319
s32 ixgbe_negotiate_fc(struct ixgbe_hw *hw, u32 adv_reg, u32 lp_reg, u32 adv_sym, u32 adv_asm, u32 lp_sym, u32 lp_asm)
s32 ixgbe_enter_lplu(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1382
s32 ixgbe_init_thermal_sensor_thresh(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1198
s32 ixgbe_init_ops_vf(struct ixgbe_hw *hw)
Definition: ixgbe_vf.c:51
s32 ixgbe_set_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq)
Definition: ixgbe_api.c:969
s32 ixgbe_init_uta_tables(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:1503
s32 ixgbe_fdir_write_perfect_filter_82599(struct ixgbe_hw *hw, union ixgbe_atr_input *input, u16 soft_id, u8 queue, bool cloud_mode)
Definition: ixgbe_82599.c:1881
enum ixgbe_media_type ixgbe_get_media_type(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:331
u32 ixgbe_atr_compute_sig_hash_82599(union ixgbe_atr_hash_dword input, union ixgbe_atr_hash_dword common)
Definition: ixgbe_82599.c:1479
void ixgbe_enable_tx_laser(struct ixgbe_hw *hw)
Definition: ixgbe_api.c:693
s32 ixgbe_insert_mac_addr(struct ixgbe_hw *hw, u8 *addr, u32 vmdq)
Definition: ixgbe_api.c:926
uint64_t u64
Definition: ixgbe_osdep.h:149
uint8_t u8
Definition: ixgbe_osdep.h:143
uint16_t u16
Definition: ixgbe_osdep.h:145
int32_t s32
Definition: ixgbe_osdep.h:148
uint32_t u32
Definition: ixgbe_osdep.h:147
u32 ixgbe_link_speed
Definition: ixgbe_type.h:3443
u8 *(* ixgbe_mc_addr_itr)(struct ixgbe_hw *hw, u8 **mc_addr_ptr, u32 *vmdq)
Definition: ixgbe_type.h:3933
ixgbe_media_type
Definition: ixgbe_type.h:3753