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