test/bonding: fix RSS test when disable RSS
[dpdk.git] / drivers / event / dpaa2 / dpaa2_eventdev.c
index 710156a..ffc7b8b 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2017,2019 NXP
+ * Copyright 2017,2019-2021 NXP
  */
 
 #include <assert.h>
@@ -408,7 +408,8 @@ dpaa2_eventdev_info_get(struct rte_eventdev *dev,
                RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
                RTE_EVENT_DEV_CAP_NONSEQ_MODE |
                RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES |
-               RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
+               RTE_EVENT_DEV_CAP_CARRY_FLOW_ID |
+               RTE_EVENT_DEV_CAP_MAINTENANCE_FREE;
 
 }
 
@@ -1002,16 +1003,20 @@ dpaa2_eventdev_txa_enqueue(void *port,
                           struct rte_event ev[],
                           uint16_t nb_events)
 {
-       struct rte_mbuf *m = (struct rte_mbuf *)ev[0].mbuf;
+       void *txq[DPAA2_EVENT_MAX_PORT_ENQUEUE_DEPTH];
+       struct rte_mbuf *m[DPAA2_EVENT_MAX_PORT_ENQUEUE_DEPTH];
        uint8_t qid, i;
 
        RTE_SET_USED(port);
 
        for (i = 0; i < nb_events; i++) {
-               qid = rte_event_eth_tx_adapter_txq_get(m);
-               rte_eth_tx_burst(m->port, qid, &m, 1);
+               m[i] = (struct rte_mbuf *)ev[i].mbuf;
+               qid = rte_event_eth_tx_adapter_txq_get(m[i]);
+               txq[i] = rte_eth_devices[m[i]->port].data->tx_queues[qid];
        }
 
+       dpaa2_dev_tx_multi_txq_ordered(txq, m, nb_events);
+
        return nb_events;
 }