crypto/cnxk: move IPsec SA creation to common
[dpdk.git] / drivers / common / cnxk / roc_io.h
index 4f15503..62e98d9 100644 (file)
@@ -164,13 +164,36 @@ roc_lmt_mov(void *out, const void *in, const uint32_t lmtext)
        dst128[1] = src128[1];
        /* lmtext receives following value:
         * 1: NIX_SUBDC_EXT needed i.e. tx vlan case
-        * 2: NIX_SUBDC_EXT + NIX_SUBDC_MEM i.e. tstamp case
         */
-       if (lmtext) {
+       if (lmtext)
+               dst128[2] = src128[2];
+}
+
+static __plt_always_inline void
+roc_lmt_mov64(void *out, const void *in)
+{
+       volatile const __uint128_t *src128 = (const __uint128_t *)in;
+       volatile __uint128_t *dst128 = (__uint128_t *)out;
+
+       dst128[0] = src128[0];
+       dst128[1] = src128[1];
+       dst128[2] = src128[2];
+       dst128[3] = src128[3];
+}
+
+static __plt_always_inline void
+roc_lmt_mov_nv(void *out, const void *in, const uint32_t lmtext)
+{
+       const __uint128_t *src128 = (const __uint128_t *)in;
+       __uint128_t *dst128 = (__uint128_t *)out;
+
+       dst128[0] = src128[0];
+       dst128[1] = src128[1];
+       /* lmtext receives following value:
+        * 1: NIX_SUBDC_EXT needed i.e. tx vlan case
+        */
+       if (lmtext)
                dst128[2] = src128[2];
-               if (lmtext > 1)
-                       dst128[3] = src128[3];
-       }
 }
 
 static __plt_always_inline void