xref: /linux/drivers/net/ethernet/wangxun/libwx/wx_hw.h (revision 7681a4f58fb9c338d6dfe1181607f84c793d77de)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2015 - 2022 Beijing WangXun Technology Co., Ltd. */
3 
4 #ifndef _WX_HW_H_
5 #define _WX_HW_H_
6 
7 int wx_check_flash_load(struct wx *wx, u32 check_bit);
8 void wx_control_hw(struct wx *wx, bool drv);
9 int wx_mng_present(struct wx *wx);
10 int wx_host_interface_command(struct wx *wx, u32 *buffer,
11 			      u32 length, u32 timeout, bool return_data);
12 int wx_read_ee_hostif(struct wx *wx, u16 offset, u16 *data);
13 int wx_read_ee_hostif_buffer(struct wx *wx,
14 			     u16 offset, u16 words, u16 *data);
15 int wx_reset_hostif(struct wx *wx);
16 void wx_init_eeprom_params(struct wx *wx);
17 void wx_get_mac_addr(struct wx *wx, u8 *mac_addr);
18 void wx_init_rx_addrs(struct wx *wx);
19 void wx_mac_set_default_filter(struct wx *wx, u8 *addr);
20 void wx_flush_sw_mac_table(struct wx *wx);
21 int wx_set_mac(struct net_device *netdev, void *p);
22 void wx_disable_rx(struct wx *wx);
23 int wx_disable_pcie_master(struct wx *wx);
24 int wx_stop_adapter(struct wx *wx);
25 void wx_reset_misc(struct wx *wx);
26 int wx_get_pcie_msix_counts(struct wx *wx, u16 *msix_count, u16 max_msix_count);
27 int wx_sw_init(struct wx *wx);
28 
29 #endif /* _WX_HW_H_ */
30