X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fhns3%2Fhns3_rxtx.c;h=d5119083b19f7e6fb59e1fa5fa093019ebf7df17;hb=0f20acbf5edaeab8e4c9d400e443679d48008569;hp=e1ff173793b99b579d24e9af64e3cf3e97523213;hpb=952ebacce4f2bc97e4399ce0ca4a36149dde43fe;p=dpdk.git diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index e1ff173793..d5119083b1 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -2345,7 +2345,7 @@ hns3_rx_check_vec_support(__rte_unused struct rte_eth_dev *dev) uint16_t __rte_weak hns3_recv_pkts_vec(__rte_unused void *tx_queue, - __rte_unused struct rte_mbuf **tx_pkts, + __rte_unused struct rte_mbuf **rx_pkts, __rte_unused uint16_t nb_pkts) { return 0; @@ -2353,7 +2353,7 @@ hns3_recv_pkts_vec(__rte_unused void *tx_queue, uint16_t __rte_weak hns3_recv_pkts_vec_sve(__rte_unused void *tx_queue, - __rte_unused struct rte_mbuf **tx_pkts, + __rte_unused struct rte_mbuf **rx_pkts, __rte_unused uint16_t nb_pkts) { return 0; @@ -3615,6 +3615,14 @@ hns3_xmit_pkts_vec(__rte_unused void *tx_queue, return 0; } +uint16_t __rte_weak +hns3_xmit_pkts_vec_sve(void __rte_unused * tx_queue, + struct rte_mbuf __rte_unused **tx_pkts, + uint16_t __rte_unused nb_pkts) +{ + return 0; +} + int hns3_tx_burst_mode_get(struct rte_eth_dev *dev, __rte_unused uint16_t queue_id, struct rte_eth_burst_mode *mode) @@ -3628,6 +3636,8 @@ hns3_tx_burst_mode_get(struct rte_eth_dev *dev, __rte_unused uint16_t queue_id, info = "Scalar"; else if (pkt_burst == hns3_xmit_pkts_vec) info = "Vector Neon"; + else if (pkt_burst == hns3_xmit_pkts_vec_sve) + info = "Vector Sve"; if (info == NULL) return -EINVAL; @@ -3645,7 +3655,8 @@ hns3_get_tx_function(struct rte_eth_dev *dev, eth_tx_prep_t *prep) if (hns->tx_vec_allowed && hns3_tx_check_vec_support(dev) == 0) { *prep = NULL; - return hns3_xmit_pkts_vec; + return hns3_check_sve_support() ? hns3_xmit_pkts_vec_sve : + hns3_xmit_pkts_vec; } if (hns->tx_simple_allowed &&