net/hns3: list supported ptypes for advanced Rx descriptor
[dpdk.git] / drivers / net / octeontx2 / otx2_ethdev_sec_tx.h
index 2e35a8c..c8eae3d 100644 (file)
@@ -9,6 +9,7 @@
 #include <rte_mbuf.h>
 
 #include "otx2_ethdev_sec.h"
+#include "otx2_security.h"
 
 struct otx2_ipsec_fp_out_hdr {
        uint32_t ip_id;
@@ -29,12 +30,11 @@ otx2_ipsec_fp_out_rlen_get(struct otx2_sec_session_ipsec_ip *sess,
 }
 
 static __rte_always_inline void
-otx2_ssogws_head_wait(struct otx2_ssogws *ws);
+otx2_ssogws_head_wait(uint64_t base);
 
 static __rte_always_inline int
-otx2_sec_event_tx(struct otx2_ssogws *ws, struct rte_event *ev,
-                 struct rte_mbuf *m, const struct otx2_eth_txq *txq,
-                 const uint32_t offload_flags)
+otx2_sec_event_tx(uint64_t base, struct rte_event *ev, struct rte_mbuf *m,
+                 const struct otx2_eth_txq *txq, const uint32_t offload_flags)
 {
        uint32_t dlen, rlen, desc_headroom, extend_head, extend_tail;
        struct otx2_sec_session_ipsec_ip *sess;
@@ -54,7 +54,7 @@ otx2_sec_event_tx(struct otx2_ssogws *ws, struct rte_event *ev,
                struct nix_iova_s nix_iova;
        } *sd;
 
-       priv = get_sec_session_private_data((void *)(m->udata64));
+       priv = get_sec_session_private_data((void *)(*rte_security_dynfield(m)));
        sess = &priv->ipsec.ip;
        sa = &sess->out_sa;
 
@@ -86,7 +86,7 @@ otx2_sec_event_tx(struct otx2_ssogws *ws, struct rte_event *ev,
         */
        rte_pktmbuf_append(m, extend_tail);
        data = rte_pktmbuf_prepend(m, extend_head);
-       data_addr = rte_pktmbuf_mtophys(m);
+       data_addr = rte_pktmbuf_iova(m);
 
        /*
         * Move the Ethernet header, to insert otx2_ipsec_fp_out_hdr prior
@@ -148,7 +148,7 @@ otx2_sec_event_tx(struct otx2_ssogws *ws, struct rte_event *ev,
        __mempool_check_cookies(m->pool, (void **)&m, 1, 0);
 
        if (!ev->sched_type)
-               otx2_ssogws_head_wait(ws);
+               otx2_ssogws_head_wait(base + SSOW_LF_GWS_TAG);
 
        inst.param1 = sess->esn_hi >> 16;
        inst.param2 = sess->esn_hi & 0xffff;
@@ -159,7 +159,7 @@ otx2_sec_event_tx(struct otx2_ssogws *ws, struct rte_event *ev,
        sess->ip_id++;
        sess->esn++;
 
-       rte_cio_wmb();
+       rte_io_wmb();
 
        do {
                otx2_lmt_mov(sess->cpt_lmtline, &inst, 2);