#ifndef _FBNIC_TXRX_H_
#define _FBNIC_TXRX_H_
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/types.h>
#include <linux/u64_stats_sync.h>
#include <net/xdp.h>
struct fbnic_net;
#define FBNIC_MAX_SKB_DESC …
#define FBNIC_TX_DESC_WAKEUP …
#define FBNIC_TX_DESC_MIN …
#define FBNIC_MAX_TXQS …
#define FBNIC_MAX_RXQS …
#define FBNIC_TXQ_SIZE_DEFAULT …
#define FBNIC_HPQ_SIZE_DEFAULT …
#define FBNIC_PPQ_SIZE_DEFAULT …
#define FBNIC_RCQ_SIZE_DEFAULT …
#define FBNIC_RX_TROOM …
#define FBNIC_RX_HROOM …
#define FBNIC_RX_PAD …
#define FBNIC_RX_MAX_HDR …
#define FBNIC_RX_PAYLD_OFFSET …
#define FBNIC_RX_PAYLD_PG_CL …
#define FBNIC_RING_F_DISABLED …
#define FBNIC_RING_F_CTX …
#define FBNIC_RING_F_STATS …
struct fbnic_pkt_buff { … };
struct fbnic_queue_stats { … };
#define PAGECNT_BIAS_MAX …
struct fbnic_rx_buf { … };
struct fbnic_ring { … };
struct fbnic_q_triad { … };
struct fbnic_napi_vector { … };
#define FBNIC_MAX_TXQS …
#define FBNIC_MAX_RXQS …
netdev_tx_t fbnic_xmit_frame(struct sk_buff *skb, struct net_device *dev);
netdev_features_t
fbnic_features_check(struct sk_buff *skb, struct net_device *dev,
netdev_features_t features);
int fbnic_alloc_napi_vectors(struct fbnic_net *fbn);
void fbnic_free_napi_vectors(struct fbnic_net *fbn);
int fbnic_alloc_resources(struct fbnic_net *fbn);
void fbnic_free_resources(struct fbnic_net *fbn);
void fbnic_napi_enable(struct fbnic_net *fbn);
void fbnic_napi_disable(struct fbnic_net *fbn);
void fbnic_enable(struct fbnic_net *fbn);
void fbnic_disable(struct fbnic_net *fbn);
void fbnic_flush(struct fbnic_net *fbn);
void fbnic_fill(struct fbnic_net *fbn);
void fbnic_napi_depletion_check(struct net_device *netdev);
int fbnic_wait_all_queues_idle(struct fbnic_dev *fbd, bool may_fail);
#endif