New upstream version 18.11-rc1
[deb_dpdk.git] / drivers / net / ixgbe / base / ixgbe_82599.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2001-2018
3  */
4
5 #ifndef _IXGBE_82599_H_
6 #define _IXGBE_82599_H_
7
8 s32 ixgbe_get_link_capabilities_82599(struct ixgbe_hw *hw,
9                                       ixgbe_link_speed *speed, bool *autoneg);
10 enum ixgbe_media_type ixgbe_get_media_type_82599(struct ixgbe_hw *hw);
11 void ixgbe_disable_tx_laser_multispeed_fiber(struct ixgbe_hw *hw);
12 void ixgbe_enable_tx_laser_multispeed_fiber(struct ixgbe_hw *hw);
13 void ixgbe_flap_tx_laser_multispeed_fiber(struct ixgbe_hw *hw);
14 void ixgbe_set_hard_rate_select_speed(struct ixgbe_hw *hw,
15                                         ixgbe_link_speed speed);
16 s32 ixgbe_setup_mac_link_smartspeed(struct ixgbe_hw *hw,
17                                     ixgbe_link_speed speed,
18                                     bool autoneg_wait_to_complete);
19 s32 ixgbe_start_mac_link_82599(struct ixgbe_hw *hw,
20                                bool autoneg_wait_to_complete);
21 s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw, ixgbe_link_speed speed,
22                                bool autoneg_wait_to_complete);
23 s32 ixgbe_setup_sfp_modules_82599(struct ixgbe_hw *hw);
24 void ixgbe_init_mac_link_ops_82599(struct ixgbe_hw *hw);
25 s32 ixgbe_reset_hw_82599(struct ixgbe_hw *hw);
26 s32 ixgbe_read_analog_reg8_82599(struct ixgbe_hw *hw, u32 reg, u8 *val);
27 s32 ixgbe_write_analog_reg8_82599(struct ixgbe_hw *hw, u32 reg, u8 val);
28 s32 ixgbe_start_hw_82599(struct ixgbe_hw *hw);
29 s32 ixgbe_identify_phy_82599(struct ixgbe_hw *hw);
30 s32 ixgbe_init_phy_ops_82599(struct ixgbe_hw *hw);
31 u64 ixgbe_get_supported_physical_layer_82599(struct ixgbe_hw *hw);
32 s32 ixgbe_enable_rx_dma_82599(struct ixgbe_hw *hw, u32 regval);
33 s32 prot_autoc_read_82599(struct ixgbe_hw *hw, bool *locked, u32 *reg_val);
34 s32 prot_autoc_write_82599(struct ixgbe_hw *hw, u32 reg_val, bool locked);
35 #endif /* _IXGBE_82599_H_ */