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 struct cnxk_timesync_info *tstamp; 35 } __plt_cache_aligned; 36 37 /* Rx and Tx routines */ 38 void cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev); 39 void cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev); 40 41 #endif /* __CN10K_ETHDEV_H__ */ 42