summaryrefslogtreecommitdiffstats
path: root/drivers/net/mvneta/mvneta_rxtx.h
blob: cc29190177249efcf4583c442e2d76627b6192d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/* SPDX-License-Identifier: BSD-3-Clause
 * Copyright(c) 2018 Marvell International Ltd.
 * Copyright(c) 2018 Semihalf.
 * All rights reserved.
 */

#ifndef _MVNETA_RXTX_H_
#define _MVNETA_RXTX_H_

#include "mvneta_ethdev.h"

int mvneta_alloc_rx_bufs(struct rte_eth_dev *dev);

void mvneta_flush_queues(struct rte_eth_dev *dev);

void mvneta_rxq_info_get(struct rte_eth_dev *dev, uint16_t rx_queue_id,
			 struct rte_eth_rxq_info *qinfo);
void mvneta_txq_info_get(struct rte_eth_dev *dev, uint16_t tx_queue_id,
			 struct rte_eth_txq_info *qinfo);

void mvneta_set_tx_function(struct rte_eth_dev *dev);

uint16_t
mvneta_rx_pkt_burst(void *rxq, struct rte_mbuf **rx_pkts, uint16_t nb_pkts);

int
mvneta_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
		      unsigned int socket,
		      const struct rte_eth_rxconf *conf __rte_unused,
		      struct rte_mempool *mp);
int
mvneta_tx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
		      unsigned int socket, const struct rte_eth_txconf *conf);

void mvneta_rx_queue_release(void *rxq);
void mvneta_tx_queue_release(void *txq);

#endif /* _MVNETA_RXTX_H_ */