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