xref: /dpdk/drivers/net/mvneta/mvneta_rxtx.h (revision 7483341ae5533c5d5fa080a5d229e6f2daf03ea5)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Marvell International Ltd.
3  * Copyright(c) 2018 Semihalf.
4  * All rights reserved.
5  */
6 
7 #ifndef _MVNETA_RXTX_H_
8 #define _MVNETA_RXTX_H_
9 
10 #include "mvneta_ethdev.h"
11 
12 int mvneta_alloc_rx_bufs(struct rte_eth_dev *dev);
13 
14 void mvneta_flush_queues(struct rte_eth_dev *dev);
15 
16 void mvneta_rxq_info_get(struct rte_eth_dev *dev, uint16_t rx_queue_id,
17 			 struct rte_eth_rxq_info *qinfo);
18 void mvneta_txq_info_get(struct rte_eth_dev *dev, uint16_t tx_queue_id,
19 			 struct rte_eth_txq_info *qinfo);
20 
21 void mvneta_set_tx_function(struct rte_eth_dev *dev);
22 
23 uint16_t
24 mvneta_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts);
25 
26 int
27 mvneta_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
28 		      unsigned int socket,
29 		      const struct rte_eth_rxconf *conf __rte_unused,
30 		      struct rte_mempool *mp);
31 int
32 mvneta_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
33 		      unsigned int socket, const struct rte_eth_txconf *conf);
34 
35 void mvneta_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid);
36 void mvneta_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid);
37 
38 #endif /* _MVNETA_RXTX_H_ */
39