xref: /linux/drivers/net/ethernet/pensando/ionic/ionic_txrx.h (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright(c) 2017 - 2019 Pensando Systems, Inc */
3 
4 #ifndef _IONIC_TXRX_H_
5 #define _IONIC_TXRX_H_
6 
7 struct bpf_prog;
8 
9 void ionic_tx_flush(struct ionic_cq *cq);
10 
11 void ionic_rx_fill(struct ionic_queue *q, struct bpf_prog *xdp_prog);
12 void ionic_rx_empty(struct ionic_queue *q);
13 void ionic_tx_empty(struct ionic_queue *q);
14 int ionic_rx_napi(struct napi_struct *napi, int budget);
15 int ionic_tx_napi(struct napi_struct *napi, int budget);
16 int ionic_txrx_napi(struct napi_struct *napi, int budget);
17 netdev_tx_t ionic_start_xmit(struct sk_buff *skb, struct net_device *netdev);
18 
19 bool ionic_rx_service(struct ionic_cq *cq);
20 
21 int ionic_xdp_xmit(struct net_device *netdev, int n, struct xdp_frame **xdp, u32 flags);
22 #endif /* _IONIC_TXRX_H_ */
23