1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(C) 2021 Marvell. 3 */ 4 5 #ifndef _CNXK_CRYPTODEV_H_ 6 #define _CNXK_CRYPTODEV_H_ 7 8 #include <rte_cryptodev.h> 9 #include <rte_security.h> 10 11 #include "roc_cpt.h" 12 13 #define CNXK_CPT_MAX_CAPS 35 14 #define CNXK_SEC_CRYPTO_MAX_CAPS 12 15 #define CNXK_SEC_MAX_CAPS 9 16 #define CNXK_AE_EC_ID_MAX 8 17 /** 18 * Device private data 19 */ 20 struct cnxk_cpt_vf { 21 struct roc_cpt cpt; 22 struct rte_cryptodev_capabilities crypto_caps[CNXK_CPT_MAX_CAPS]; 23 struct rte_cryptodev_capabilities 24 sec_crypto_caps[CNXK_SEC_CRYPTO_MAX_CAPS]; 25 struct rte_security_capability sec_caps[CNXK_SEC_MAX_CAPS]; 26 uint64_t cnxk_fpm_iova[CNXK_AE_EC_ID_MAX]; 27 struct roc_ae_ec_group *ec_grp[CNXK_AE_EC_ID_MAX]; 28 uint16_t max_qps_limit; 29 }; 30 31 uint64_t cnxk_cpt_default_ff_get(void); 32 int cnxk_cpt_eng_grp_add(struct roc_cpt *roc_cpt); 33 int cnxk_cpt_parse_devargs(struct rte_devargs *devargs, struct cnxk_cpt_vf *vf); 34 35 #endif /* _CNXK_CRYPTODEV_H_ */ 36