Loading...
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
10void wx_alloc_rx_buffers(struct wx_ring *rx_ring, u16 cleaned_count);
11u16 wx_desc_unused(struct wx_ring *ring);
12netdev_tx_t wx_xmit_frame(struct sk_buff *skb,
13 struct net_device *netdev);
14void wx_napi_enable_all(struct wx *wx);
15void wx_napi_disable_all(struct wx *wx);
16void wx_reset_interrupt_capability(struct wx *wx);
17void wx_clear_interrupt_scheme(struct wx *wx);
18int wx_init_interrupt_scheme(struct wx *wx);
19irqreturn_t wx_msix_clean_rings(int __always_unused irq, void *data);
20void wx_free_irq(struct wx *wx);
21int wx_setup_isb_resources(struct wx *wx);
22void wx_free_isb_resources(struct wx *wx);
23u32 wx_misc_isb(struct wx *wx, enum wx_isb_idx idx);
24void wx_write_eitr(struct wx_q_vector *q_vector);
25void wx_configure_vectors(struct wx *wx);
26void wx_clean_all_rx_rings(struct wx *wx);
27void wx_clean_all_tx_rings(struct wx *wx);
28void wx_free_resources(struct wx *wx);
29int wx_setup_resources(struct wx *wx);
30void wx_get_stats64(struct net_device *netdev,
31 struct rtnl_link_stats64 *stats);
32int wx_set_features(struct net_device *netdev, netdev_features_t features);
33void 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_ */
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
10struct wx_dec_ptype wx_decode_ptype(const u8 ptype);
11void wx_alloc_rx_buffers(struct wx_ring *rx_ring, u16 cleaned_count);
12u16 wx_desc_unused(struct wx_ring *ring);
13netdev_tx_t wx_xmit_frame(struct sk_buff *skb,
14 struct net_device *netdev);
15void wx_napi_enable_all(struct wx *wx);
16void wx_napi_disable_all(struct wx *wx);
17void wx_reset_interrupt_capability(struct wx *wx);
18void wx_clear_interrupt_scheme(struct wx *wx);
19int wx_init_interrupt_scheme(struct wx *wx);
20irqreturn_t wx_msix_clean_rings(int __always_unused irq, void *data);
21void wx_free_irq(struct wx *wx);
22int wx_setup_isb_resources(struct wx *wx);
23void wx_free_isb_resources(struct wx *wx);
24u32 wx_misc_isb(struct wx *wx, enum wx_isb_idx idx);
25void wx_write_eitr(struct wx_q_vector *q_vector);
26void wx_configure_vectors(struct wx *wx);
27void wx_clean_all_rx_rings(struct wx *wx);
28void wx_clean_all_tx_rings(struct wx *wx);
29void wx_free_resources(struct wx *wx);
30int wx_setup_resources(struct wx *wx);
31void wx_get_stats64(struct net_device *netdev,
32 struct rtnl_link_stats64 *stats);
33int wx_set_features(struct net_device *netdev, netdev_features_t features);
34netdev_features_t wx_fix_features(struct net_device *netdev,
35 netdev_features_t features);
36void wx_set_ring(struct wx *wx, u32 new_tx_count,
37 u32 new_rx_count, struct wx_ring *temp_ring);
38
39#endif /* _NGBE_LIB_H_ */