1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(C) 2021 Marvell.
5 #include "cn9k_worker.h"
6 #include "cnxk_eventdev.h"
7 #include "cnxk_worker.h"
9 #define R(name, f6, f5, f4, f3, f2, f1, f0, flags) \
10 uint16_t __rte_hot cn9k_sso_hws_dual_deq_##name( \
11 void *port, struct rte_event *ev, uint64_t timeout_ticks) \
13 struct cn9k_sso_hws_dual *dws = port; \
16 RTE_SET_USED(timeout_ticks); \
17 if (dws->swtag_req) { \
19 cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] + \
24 gw = cn9k_sso_hws_dual_get_work( \
25 dws->base[dws->vws], dws->base[!dws->vws], ev, flags, \
26 dws->lookup_mem, dws->tstamp); \
27 dws->vws = !dws->vws; \
31 uint16_t __rte_hot cn9k_sso_hws_dual_deq_seg_##name( \
32 void *port, struct rte_event *ev, uint64_t timeout_ticks) \
34 struct cn9k_sso_hws_dual *dws = port; \
37 RTE_SET_USED(timeout_ticks); \
38 if (dws->swtag_req) { \
40 cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] + \
45 gw = cn9k_sso_hws_dual_get_work( \
46 dws->base[dws->vws], dws->base[!dws->vws], ev, flags, \
47 dws->lookup_mem, dws->tstamp); \
48 dws->vws = !dws->vws; \