2019-09-03 15:28:17 -07:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
|
|
|
/* Copyright(c) 2017 - 2019 Pensando Systems, Inc */
|
|
|
|
|
|
|
|
#ifndef _IONIC_TXRX_H_
|
|
|
|
#define _IONIC_TXRX_H_
|
|
|
|
|
2024-09-06 16:26:23 -07:00
|
|
|
struct bpf_prog;
|
|
|
|
|
2019-09-03 15:28:17 -07:00
|
|
|
void ionic_tx_flush(struct ionic_cq *cq);
|
|
|
|
|
2024-09-06 16:26:23 -07:00
|
|
|
void ionic_rx_fill(struct ionic_queue *q, struct bpf_prog *xdp_prog);
|
2019-09-03 15:28:17 -07:00
|
|
|
void ionic_rx_empty(struct ionic_queue *q);
|
2020-03-27 20:14:45 -07:00
|
|
|
void ionic_tx_empty(struct ionic_queue *q);
|
2019-09-03 15:28:17 -07:00
|
|
|
int ionic_rx_napi(struct napi_struct *napi, int budget);
|
2020-07-31 13:15:36 -07:00
|
|
|
int ionic_tx_napi(struct napi_struct *napi, int budget);
|
|
|
|
int ionic_txrx_napi(struct napi_struct *napi, int budget);
|
2019-09-03 15:28:17 -07:00
|
|
|
netdev_tx_t ionic_start_xmit(struct sk_buff *skb, struct net_device *netdev);
|
|
|
|
|
2024-03-06 15:29:50 -08:00
|
|
|
bool ionic_rx_service(struct ionic_cq *cq);
|
2021-04-01 10:56:07 -07:00
|
|
|
|
2024-02-14 09:59:08 -08:00
|
|
|
int ionic_xdp_xmit(struct net_device *netdev, int n, struct xdp_frame **xdp, u32 flags);
|
2019-09-03 15:28:17 -07:00
|
|
|
#endif /* _IONIC_TXRX_H_ */
|