xref: /freebsd/sys/dev/ixgbe/ixgbe_82598.h (revision 71625ec9)
185d0a26eSJack F Vogel /******************************************************************************
27282444bSPedro F. Giffuni   SPDX-License-Identifier: BSD-3-Clause
385d0a26eSJack F Vogel 
48455e365SKevin Bowling   Copyright (c) 2001-2020, Intel Corporation
585d0a26eSJack F Vogel   All rights reserved.
685d0a26eSJack F Vogel 
785d0a26eSJack F Vogel   Redistribution and use in source and binary forms, with or without
885d0a26eSJack F Vogel   modification, are permitted provided that the following conditions are met:
985d0a26eSJack F Vogel 
1085d0a26eSJack F Vogel    1. Redistributions of source code must retain the above copyright notice,
1185d0a26eSJack F Vogel       this list of conditions and the following disclaimer.
1285d0a26eSJack F Vogel 
1385d0a26eSJack F Vogel    2. Redistributions in binary form must reproduce the above copyright
1485d0a26eSJack F Vogel       notice, this list of conditions and the following disclaimer in the
1585d0a26eSJack F Vogel       documentation and/or other materials provided with the distribution.
1685d0a26eSJack F Vogel 
1785d0a26eSJack F Vogel    3. Neither the name of the Intel Corporation nor the names of its
1885d0a26eSJack F Vogel       contributors may be used to endorse or promote products derived from
1985d0a26eSJack F Vogel       this software without specific prior written permission.
2085d0a26eSJack F Vogel 
2185d0a26eSJack F Vogel   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
2285d0a26eSJack F Vogel   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2385d0a26eSJack F Vogel   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2485d0a26eSJack F Vogel   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
2585d0a26eSJack F Vogel   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2685d0a26eSJack F Vogel   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2785d0a26eSJack F Vogel   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2885d0a26eSJack F Vogel   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2985d0a26eSJack F Vogel   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
3085d0a26eSJack F Vogel   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3185d0a26eSJack F Vogel   POSSIBILITY OF SUCH DAMAGE.
3285d0a26eSJack F Vogel 
3385d0a26eSJack F Vogel ******************************************************************************/
3485d0a26eSJack F Vogel 
3585d0a26eSJack F Vogel #ifndef _IXGBE_82598_H_
3685d0a26eSJack F Vogel #define _IXGBE_82598_H_
3785d0a26eSJack F Vogel 
3885d0a26eSJack F Vogel u32 ixgbe_get_pcie_msix_count_82598(struct ixgbe_hw *hw);
39a621e3c8SJack F Vogel s32 ixgbe_fc_enable_82598(struct ixgbe_hw *hw);
4085d0a26eSJack F Vogel s32 ixgbe_start_hw_82598(struct ixgbe_hw *hw);
4185d0a26eSJack F Vogel void ixgbe_enable_relaxed_ordering_82598(struct ixgbe_hw *hw);
4285d0a26eSJack F Vogel s32 ixgbe_set_vmdq_82598(struct ixgbe_hw *hw, u32 rar, u32 vmdq);
438eb6488eSEric Joyner s32 ixgbe_set_vfta_82598(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on,
448eb6488eSEric Joyner 			 bool vlvf_bypass);
4585d0a26eSJack F Vogel s32 ixgbe_read_analog_reg8_82598(struct ixgbe_hw *hw, u32 reg, u8 *val);
4685d0a26eSJack F Vogel s32 ixgbe_write_analog_reg8_82598(struct ixgbe_hw *hw, u32 reg, u8 val);
4785d0a26eSJack F Vogel s32 ixgbe_read_i2c_eeprom_82598(struct ixgbe_hw *hw, u8 byte_offset,
4885d0a26eSJack F Vogel 				u8 *eeprom_data);
498eb6488eSEric Joyner u64 ixgbe_get_supported_physical_layer_82598(struct ixgbe_hw *hw);
5085d0a26eSJack F Vogel s32 ixgbe_init_phy_ops_82598(struct ixgbe_hw *hw);
5185d0a26eSJack F Vogel void ixgbe_set_lan_id_multi_port_pcie_82598(struct ixgbe_hw *hw);
5285d0a26eSJack F Vogel void ixgbe_set_pcie_completion_timeout(struct ixgbe_hw *hw);
53758cc3dcSJack F Vogel s32 ixgbe_enable_rx_dma_82598(struct ixgbe_hw *hw, u32 regval);
5485d0a26eSJack F Vogel #endif /* _IXGBE_82598_H_ */
55