Home | History | Annotate | Line # | Download | only in igc
igc_api.h revision 1.2.2.2
      1  1.2.2.2  martin /*	$NetBSD: igc_api.h,v 1.2.2.2 2023/10/08 13:19:34 martin Exp $	*/
      2  1.2.2.2  martin /*	$OpenBSD: igc_api.h,v 1.2 2022/05/11 06:14:15 kevlo Exp $	*/
      3  1.2.2.2  martin /*-
      4  1.2.2.2  martin  * Copyright 2021 Intel Corp
      5  1.2.2.2  martin  * Copyright 2021 Rubicon Communications, LLC (Netgate)
      6  1.2.2.2  martin  * SPDX-License-Identifier: BSD-3-Clause
      7  1.2.2.2  martin  *
      8  1.2.2.2  martin  * $FreeBSD$
      9  1.2.2.2  martin  */
     10  1.2.2.2  martin 
     11  1.2.2.2  martin #ifndef _IGC_API_H_
     12  1.2.2.2  martin #define _IGC_API_H_
     13  1.2.2.2  martin 
     14  1.2.2.2  martin #include <dev/pci/igc/if_igc.h>
     15  1.2.2.2  martin #include <dev/pci/igc/igc_hw.h>
     16  1.2.2.2  martin 
     17  1.2.2.2  martin extern void	igc_init_function_pointers_i225(struct igc_hw *);
     18  1.2.2.2  martin 
     19  1.2.2.2  martin int		igc_set_mac_type(struct igc_hw *);
     20  1.2.2.2  martin int		igc_setup_init_funcs(struct igc_hw *, bool);
     21  1.2.2.2  martin int		igc_init_mac_params(struct igc_hw *);
     22  1.2.2.2  martin int		igc_init_nvm_params(struct igc_hw *);
     23  1.2.2.2  martin int		igc_init_phy_params(struct igc_hw *);
     24  1.2.2.2  martin int		igc_get_bus_info(struct igc_hw *);
     25  1.2.2.2  martin void		igc_clear_vfta(struct igc_hw *);
     26  1.2.2.2  martin void		igc_write_vfta(struct igc_hw *, uint32_t, uint32_t);
     27  1.2.2.2  martin int		igc_force_mac_fc(struct igc_hw *);
     28  1.2.2.2  martin int		igc_check_for_link(struct igc_hw *);
     29  1.2.2.2  martin int		igc_reset_hw(struct igc_hw *);
     30  1.2.2.2  martin int		igc_init_hw(struct igc_hw *);
     31  1.2.2.2  martin int		igc_setup_link(struct igc_hw *);
     32  1.2.2.2  martin int		igc_get_speed_and_duplex(struct igc_hw *, uint16_t *,
     33  1.2.2.2  martin 		    uint16_t *);
     34  1.2.2.2  martin int		igc_disable_pcie_master(struct igc_hw *);
     35  1.2.2.2  martin void		igc_config_collision_dist(struct igc_hw *);
     36  1.2.2.2  martin int		igc_rar_set(struct igc_hw *, uint8_t *, uint32_t);
     37  1.2.2.2  martin uint32_t	igc_hash_mc_addr(struct igc_hw *, uint8_t *);
     38  1.2.2.2  martin void		igc_update_mc_addr_list(struct igc_hw *, uint8_t *, uint32_t);
     39  1.2.2.2  martin int		igc_check_reset_block(struct igc_hw *);
     40  1.2.2.2  martin int		igc_get_cable_length(struct igc_hw *);
     41  1.2.2.2  martin int		igc_validate_mdi_setting(struct igc_hw *);
     42  1.2.2.2  martin int		igc_get_phy_info(struct igc_hw *);
     43  1.2.2.2  martin int		igc_phy_hw_reset(struct igc_hw *);
     44  1.2.2.2  martin void		igc_power_up_phy(struct igc_hw *);
     45  1.2.2.2  martin void		igc_power_down_phy(struct igc_hw *);
     46  1.2.2.2  martin int		igc_read_mac_addr(struct igc_hw *);
     47  1.2.2.2  martin int		igc_read_pba_string(struct igc_hw *, uint8_t *, uint32_t);
     48  1.2.2.2  martin void		igc_reload_nvm(struct igc_hw *);
     49  1.2.2.2  martin int		igc_validate_nvm_checksum(struct igc_hw *);
     50  1.2.2.2  martin int		igc_read_nvm(struct igc_hw *, uint16_t, uint16_t, uint16_t *);
     51  1.2.2.2  martin int		igc_write_nvm(struct igc_hw *, uint16_t, uint16_t, uint16_t *);
     52  1.2.2.2  martin int		igc_set_d3_lplu_state(struct igc_hw *, bool);
     53  1.2.2.2  martin int		igc_set_d0_lplu_state(struct igc_hw *, bool);
     54  1.2.2.2  martin 
     55  1.2.2.2  martin #endif /* _IGC_API_H_ */
     56