New upstream version 18.11-rc1
[deb_dpdk.git] / drivers / net / mvneta / mvneta_rxtx.h
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(void *rxq);
36 void mvneta_tx_queue_release(void *txq);
37
38 #endif /* _MVNETA_RXTX_H_ */