1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* |
3 | * WangXun Gigabit PCI Express Linux driver |
4 | * Copyright (c) 2019 - 2022 Beijing WangXun Technology Co., Ltd. |
5 | */ |
6 | |
7 | #ifndef _WX_LIB_H_ |
8 | #define _WX_LIB_H_ |
9 | |
10 | void wx_alloc_rx_buffers(struct wx_ring *rx_ring, u16 cleaned_count); |
11 | u16 wx_desc_unused(struct wx_ring *ring); |
12 | netdev_tx_t wx_xmit_frame(struct sk_buff *skb, |
13 | struct net_device *netdev); |
14 | void wx_napi_enable_all(struct wx *wx); |
15 | void wx_napi_disable_all(struct wx *wx); |
16 | void wx_reset_interrupt_capability(struct wx *wx); |
17 | void wx_clear_interrupt_scheme(struct wx *wx); |
18 | int wx_init_interrupt_scheme(struct wx *wx); |
19 | irqreturn_t wx_msix_clean_rings(int __always_unused irq, void *data); |
20 | void wx_free_irq(struct wx *wx); |
21 | int wx_setup_isb_resources(struct wx *wx); |
22 | void wx_free_isb_resources(struct wx *wx); |
23 | u32 wx_misc_isb(struct wx *wx, enum wx_isb_idx idx); |
24 | void wx_write_eitr(struct wx_q_vector *q_vector); |
25 | void wx_configure_vectors(struct wx *wx); |
26 | void wx_clean_all_rx_rings(struct wx *wx); |
27 | void wx_clean_all_tx_rings(struct wx *wx); |
28 | void wx_free_resources(struct wx *wx); |
29 | int wx_setup_resources(struct wx *wx); |
30 | void wx_get_stats64(struct net_device *netdev, |
31 | struct rtnl_link_stats64 *stats); |
32 | int wx_set_features(struct net_device *netdev, netdev_features_t features); |
33 | void wx_set_ring(struct wx *wx, u32 new_tx_count, |
34 | u32 new_rx_count, struct wx_ring *temp_ring); |
35 | |
36 | #endif /* _NGBE_LIB_H_ */ |
37 | |