162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * WangXun Gigabit PCI Express Linux driver
462306a36Sopenharmony_ci * Copyright (c) 2019 - 2022 Beijing WangXun Technology Co., Ltd.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#ifndef _WX_LIB_H_
862306a36Sopenharmony_ci#define _WX_LIB_H_
962306a36Sopenharmony_ci
1062306a36Sopenharmony_civoid wx_alloc_rx_buffers(struct wx_ring *rx_ring, u16 cleaned_count);
1162306a36Sopenharmony_ciu16 wx_desc_unused(struct wx_ring *ring);
1262306a36Sopenharmony_cinetdev_tx_t wx_xmit_frame(struct sk_buff *skb,
1362306a36Sopenharmony_ci			  struct net_device *netdev);
1462306a36Sopenharmony_civoid wx_napi_enable_all(struct wx *wx);
1562306a36Sopenharmony_civoid wx_napi_disable_all(struct wx *wx);
1662306a36Sopenharmony_civoid wx_reset_interrupt_capability(struct wx *wx);
1762306a36Sopenharmony_civoid wx_clear_interrupt_scheme(struct wx *wx);
1862306a36Sopenharmony_ciint wx_init_interrupt_scheme(struct wx *wx);
1962306a36Sopenharmony_ciirqreturn_t wx_msix_clean_rings(int __always_unused irq, void *data);
2062306a36Sopenharmony_civoid wx_free_irq(struct wx *wx);
2162306a36Sopenharmony_ciint wx_setup_isb_resources(struct wx *wx);
2262306a36Sopenharmony_civoid wx_free_isb_resources(struct wx *wx);
2362306a36Sopenharmony_ciu32 wx_misc_isb(struct wx *wx, enum wx_isb_idx idx);
2462306a36Sopenharmony_civoid wx_configure_vectors(struct wx *wx);
2562306a36Sopenharmony_civoid wx_clean_all_rx_rings(struct wx *wx);
2662306a36Sopenharmony_civoid wx_clean_all_tx_rings(struct wx *wx);
2762306a36Sopenharmony_civoid wx_free_resources(struct wx *wx);
2862306a36Sopenharmony_ciint wx_setup_resources(struct wx *wx);
2962306a36Sopenharmony_civoid wx_get_stats64(struct net_device *netdev,
3062306a36Sopenharmony_ci		    struct rtnl_link_stats64 *stats);
3162306a36Sopenharmony_ciint wx_set_features(struct net_device *netdev, netdev_features_t features);
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#endif /* _NGBE_LIB_H_ */
34