1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2020 Hisilicon Limited.
6 #include <rte_ethdev_driver.h>
8 #include "hns3_ethdev.h"
10 #include "hns3_rxtx_vec.h"
12 #if defined RTE_ARCH_ARM64
13 #include "hns3_rxtx_vec_neon.h"
17 hns3_tx_check_vec_support(struct rte_eth_dev *dev)
19 struct rte_eth_txmode *txmode = &dev->data->dev_conf.txmode;
21 /* Only support DEV_TX_OFFLOAD_MBUF_FAST_FREE */
22 if (txmode->offloads != DEV_TX_OFFLOAD_MBUF_FAST_FREE)
29 hns3_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
31 struct hns3_tx_queue *txq = (struct hns3_tx_queue *)tx_queue;
35 uint16_t ret, new_burst;
37 new_burst = RTE_MIN(nb_pkts, txq->tx_rs_thresh);
38 ret = hns3_xmit_fixed_burst_vec(tx_queue, &tx_pkts[nb_tx],