xref: /dpdk/drivers/net/cnxk/cn9k_ethdev.h (revision 02edbfab)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4 #ifndef __CN9K_ETHDEV_H__
5 #define __CN9K_ETHDEV_H__
6 
7 #include <cnxk_ethdev.h>
8 
9 struct cn9k_eth_txq {
10 	uint64_t cmd[8];
11 	int64_t fc_cache_pkts;
12 	uint64_t *fc_mem;
13 	void *lmt_addr;
14 	rte_iova_t io_addr;
15 	uint64_t lso_tun_fmt;
16 	uint16_t sqes_per_sqb_log2;
17 	int16_t nb_sqb_bufs_adj;
18 } __plt_cache_aligned;
19 
20 struct cn9k_eth_rxq {
21 	uint64_t mbuf_initializer;
22 	uint64_t data_off;
23 	uintptr_t desc;
24 	void *lookup_mem;
25 	uintptr_t cq_door;
26 	uint64_t wdata;
27 	int64_t *cq_status;
28 	uint32_t head;
29 	uint32_t qmask;
30 	uint32_t available;
31 	uint16_t rq;
32 	struct cnxk_timesync_info *tstamp;
33 } __plt_cache_aligned;
34 
35 /* Rx and Tx routines */
36 void cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev);
37 void cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev);
38 
39 #endif /* __CN9K_ETHDEV_H__ */
40