xref: /dpdk/drivers/net/cnxk/tx/cn10k/tx_all_offload.c (revision 23d6f76d31474eeaafed752e377c109f803c287b)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2022 Marvell.
3  */
4 
5 #include "cn10k_tx.h"
6 
7 #ifdef _ROC_API_H_
8 #error "roc_api.h is included"
9 #endif
10 
11 #if defined(CNXK_DIS_TMPLT_FUNC)
12 
13 uint16_t __rte_noinline __rte_hot
14 cn10k_nix_xmit_pkts_all_offload(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)
15 {
16 	struct cn10k_eth_txq *txq = (struct cn10k_eth_txq *)tx_queue;
17 	uint64_t cmd[8 + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];
18 
19 	return cn10k_nix_xmit_pkts_mseg(tx_queue, NULL, tx_pkts, pkts, cmd, txq->tx_offload_flags);
20 }
21 
22 uint16_t __rte_noinline __rte_hot
23 cn10k_nix_xmit_pkts_vec_all_offload(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)
24 {
25 	struct cn10k_eth_txq *txq = (struct cn10k_eth_txq *)tx_queue;
26 	uint64_t cmd[8 + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];
27 
28 	return cn10k_nix_xmit_pkts_vector(tx_queue, NULL, tx_pkts, pkts, cmd,
29 					  txq->tx_offload_flags);
30 }
31 
32 #endif
33