event/cnxk: fix memory leaks
[dpdk.git] / drivers / event / cnxk / cn9k_worker.c
index 32f7cc0..a981bc9 100644 (file)
@@ -19,7 +19,8 @@ cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
                cn9k_sso_hws_forward_event(ws, ev);
                break;
        case RTE_EVENT_OP_RELEASE:
-               cnxk_sso_hws_swtag_flush(ws->tag_op, ws->swtag_flush_op);
+               cnxk_sso_hws_swtag_flush(ws->base + SSOW_LF_GWS_TAG,
+                                        ws->base + SSOW_LF_GWS_OP_SWTAG_FLUSH);
                break;
        default:
                return 0;
@@ -67,17 +68,18 @@ uint16_t __rte_hot
 cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
 {
        struct cn9k_sso_hws_dual *dws = port;
-       struct cn9k_sso_hws_state *vws;
+       uint64_t base;
 
-       vws = &dws->ws_state[!dws->vws];
+       base = dws->base[!dws->vws];
        switch (ev->op) {
        case RTE_EVENT_OP_NEW:
                return cn9k_sso_hws_dual_new_event(dws, ev);
        case RTE_EVENT_OP_FORWARD:
-               cn9k_sso_hws_dual_forward_event(dws, vws, ev);
+               cn9k_sso_hws_dual_forward_event(dws, base, ev);
                break;
        case RTE_EVENT_OP_RELEASE:
-               cnxk_sso_hws_swtag_flush(vws->tag_op, vws->swtag_flush_op);
+               cnxk_sso_hws_swtag_flush(base + SSOW_LF_GWS_TAG,
+                                        base + SSOW_LF_GWS_OP_SWTAG_FLUSH);
                break;
        default:
                return 0;
@@ -114,7 +116,7 @@ cn9k_sso_hws_dual_enq_fwd_burst(void *port, const struct rte_event ev[],
        struct cn9k_sso_hws_dual *dws = port;
 
        RTE_SET_USED(nb_events);
-       cn9k_sso_hws_dual_forward_event(dws, &dws->ws_state[!dws->vws], ev);
+       cn9k_sso_hws_dual_forward_event(dws, dws->base[!dws->vws], ev);
 
        return 1;
 }
@@ -126,7 +128,8 @@ cn9k_sso_hws_ca_enq(void *port, struct rte_event ev[], uint16_t nb_events)
 
        RTE_SET_USED(nb_events);
 
-       return cn9k_cpt_crypto_adapter_enqueue(ws->tag_op, ev->event_ptr);
+       return cn9k_cpt_crypto_adapter_enqueue(ws->base + SSOW_LF_GWS_TAG,
+                                              ev->event_ptr);
 }
 
 uint16_t __rte_hot
@@ -136,6 +139,6 @@ cn9k_sso_hws_dual_ca_enq(void *port, struct rte_event ev[], uint16_t nb_events)
 
        RTE_SET_USED(nb_events);
 
-       return cn9k_cpt_crypto_adapter_enqueue(dws->ws_state[!dws->vws].tag_op,
-                                              ev->event_ptr);
+       return cn9k_cpt_crypto_adapter_enqueue(
+               dws->base[!dws->vws] + SSOW_LF_GWS_TAG, ev->event_ptr);
 }