mempool: fix slow allocation of large mempools
[dpdk.git] / drivers / common / cpt / cpt_pmd_ops_helper.c
index 1c18180..09b762f 100644 (file)
@@ -11,6 +11,8 @@
 
 #define CPT_MAX_IV_LEN 16
 #define CPT_OFFSET_CONTROL_BYTES 8
+#define CPT_MAX_ASYM_OP_NUM_PARAMS 5
+#define CPT_MAX_ASYM_OP_MOD_LEN 1024
 
 int32_t
 cpt_pmd_ops_helper_get_mlen_direct_mode(void)
@@ -39,3 +41,16 @@ cpt_pmd_ops_helper_get_mlen_sg_mode(void)
        len += 2 * sizeof(cpt_res_s_t);
        return len;
 }
+
+int
+cpt_pmd_ops_helper_asym_get_mlen(void)
+{
+       uint32_t len;
+
+       /* Get meta len for linear buffer (direct) mode */
+       len = cpt_pmd_ops_helper_get_mlen_direct_mode();
+
+       /* Get meta len for asymmetric operations */
+       len += CPT_MAX_ASYM_OP_NUM_PARAMS * CPT_MAX_ASYM_OP_MOD_LEN;
+       return len;
+}