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