162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/* Copyright (c) 2015 - 2022 Beijing WangXun Technology Co., Ltd. */
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#ifndef _WX_HW_H_
562306a36Sopenharmony_ci#define _WX_HW_H_
662306a36Sopenharmony_ci
762306a36Sopenharmony_civoid wx_intr_enable(struct wx *wx, u64 qmask);
862306a36Sopenharmony_civoid wx_irq_disable(struct wx *wx);
962306a36Sopenharmony_ciint wx_check_flash_load(struct wx *wx, u32 check_bit);
1062306a36Sopenharmony_civoid wx_control_hw(struct wx *wx, bool drv);
1162306a36Sopenharmony_ciint wx_mng_present(struct wx *wx);
1262306a36Sopenharmony_ciint wx_host_interface_command(struct wx *wx, u32 *buffer,
1362306a36Sopenharmony_ci			      u32 length, u32 timeout, bool return_data);
1462306a36Sopenharmony_ciint wx_read_ee_hostif(struct wx *wx, u16 offset, u16 *data);
1562306a36Sopenharmony_ciint wx_read_ee_hostif_buffer(struct wx *wx,
1662306a36Sopenharmony_ci			     u16 offset, u16 words, u16 *data);
1762306a36Sopenharmony_civoid wx_init_eeprom_params(struct wx *wx);
1862306a36Sopenharmony_civoid wx_get_mac_addr(struct wx *wx, u8 *mac_addr);
1962306a36Sopenharmony_civoid wx_init_rx_addrs(struct wx *wx);
2062306a36Sopenharmony_civoid wx_mac_set_default_filter(struct wx *wx, u8 *addr);
2162306a36Sopenharmony_civoid wx_flush_sw_mac_table(struct wx *wx);
2262306a36Sopenharmony_ciint wx_set_mac(struct net_device *netdev, void *p);
2362306a36Sopenharmony_civoid wx_disable_rx(struct wx *wx);
2462306a36Sopenharmony_civoid wx_set_rx_mode(struct net_device *netdev);
2562306a36Sopenharmony_ciint wx_change_mtu(struct net_device *netdev, int new_mtu);
2662306a36Sopenharmony_civoid wx_disable_rx_queue(struct wx *wx, struct wx_ring *ring);
2762306a36Sopenharmony_civoid wx_configure_rx(struct wx *wx);
2862306a36Sopenharmony_civoid wx_configure(struct wx *wx);
2962306a36Sopenharmony_civoid wx_start_hw(struct wx *wx);
3062306a36Sopenharmony_ciint wx_disable_pcie_master(struct wx *wx);
3162306a36Sopenharmony_ciint wx_stop_adapter(struct wx *wx);
3262306a36Sopenharmony_civoid wx_reset_misc(struct wx *wx);
3362306a36Sopenharmony_ciint wx_get_pcie_msix_counts(struct wx *wx, u16 *msix_count, u16 max_msix_count);
3462306a36Sopenharmony_ciint wx_sw_init(struct wx *wx);
3562306a36Sopenharmony_ciint wx_vlan_rx_add_vid(struct net_device *netdev, __be16 proto, u16 vid);
3662306a36Sopenharmony_ciint wx_vlan_rx_kill_vid(struct net_device *netdev, __be16 proto, u16 vid);
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci#endif /* _WX_HW_H_ */
39