1 /* $OpenBSD: igc_api.h,v 1.3 2024/06/09 05:18:12 jsg Exp $ */ 2 /*- 3 * Copyright 2021 Intel Corp 4 * Copyright 2021 Rubicon Communications, LLC (Netgate) 5 * SPDX-License-Identifier: BSD-3-Clause 6 * 7 * $FreeBSD$ 8 */ 9 10 #ifndef _IGC_API_H_ 11 #define _IGC_API_H_ 12 13 #include <dev/pci/if_igc.h> 14 #include <dev/pci/igc_hw.h> 15 16 extern void igc_init_function_pointers_i225(struct igc_hw *); 17 18 int igc_set_mac_type(struct igc_hw *); 19 int igc_setup_init_funcs(struct igc_hw *, bool); 20 int igc_init_mac_params(struct igc_hw *); 21 int igc_init_nvm_params(struct igc_hw *); 22 int igc_init_phy_params(struct igc_hw *); 23 int igc_check_for_link(struct igc_hw *); 24 int igc_reset_hw(struct igc_hw *); 25 int igc_init_hw(struct igc_hw *); 26 int igc_get_speed_and_duplex(struct igc_hw *, uint16_t *, 27 uint16_t *); 28 int igc_rar_set(struct igc_hw *, uint8_t *, uint32_t); 29 void igc_update_mc_addr_list(struct igc_hw *, uint8_t *, uint32_t); 30 int igc_check_reset_block(struct igc_hw *); 31 int igc_get_phy_info(struct igc_hw *); 32 int igc_phy_hw_reset(struct igc_hw *); 33 int igc_read_mac_addr(struct igc_hw *); 34 int igc_validate_nvm_checksum(struct igc_hw *); 35 36 #endif /* _IGC_API_H_ */ 37