1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2018 Cavium, Inc 3 */ 4 5 #ifndef _CPT_PMD_OPS_HELPER_H_ 6 #define _CPT_PMD_OPS_HELPER_H_ 7 8 /* 9 * This file defines the agreement between the common layer and the individual 10 * crypto drivers for OCTEON TX series. Control path in otx* directory can 11 * directly call functions declared here. 12 */ 13 14 /* 15 * Get meta length required when operating in direct mode (single buffer 16 * in-place) 17 * 18 * @return 19 * - length 20 */ 21 __rte_internal 22 int32_t 23 cpt_pmd_ops_helper_get_mlen_direct_mode(void); 24 25 /* 26 * Get size of contiguous meta buffer to be allocated when working in scatter 27 * gather mode. 28 * 29 * @return 30 * - length 31 */ 32 __rte_internal 33 int 34 cpt_pmd_ops_helper_get_mlen_sg_mode(void); 35 36 /* 37 * Get size of meta buffer to be allocated for asymmetric crypto operations 38 * 39 * @return 40 * - length 41 */ 42 __rte_internal 43 int 44 cpt_pmd_ops_helper_asym_get_mlen(void); 45 46 /* 47 * Initialize ECC FMUL precomputed table 48 * 49 * @param 50 * - pointer to fpm_table iova address 51 * 52 * @return 53 * - 0 on success, negative on error 54 */ 55 __rte_internal 56 int cpt_fpm_init(uint64_t *fpm_table_iova); 57 58 /* 59 * Clear ECC FMUL precomputed table 60 */ 61 __rte_internal 62 void cpt_fpm_clear(void); 63 64 #endif /* _CPT_PMD_OPS_HELPER_H_ */ 65