event/cnxk: support Tx adapter fast path
[dpdk.git] / drivers / event / cnxk / cn9k_worker_dual_tx_enq.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(C) 2021 Marvell.
3  */
4
5 #include "cn9k_worker.h"
6
7 #define T(name, f5, f4, f3, f2, f1, f0, sz, flags)                             \
8         uint16_t __rte_hot cn9k_sso_hws_dual_tx_adptr_enq_##name(              \
9                 void *port, struct rte_event ev[], uint16_t nb_events)         \
10         {                                                                      \
11                 struct cn9k_sso_hws_dual *ws = port;                           \
12                 uint64_t cmd[sz];                                              \
13                                                                                \
14                 RTE_SET_USED(nb_events);                                       \
15                 return cn9k_sso_hws_event_tx(                                  \
16                         ws->base[!ws->vws], &ev[0], cmd,                       \
17                         (const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
18                                 ws->tx_adptr_data,                             \
19                         flags);                                                \
20         }
21
22 NIX_TX_FASTPATH_MODES
23 #undef T