xref: /dpdk/drivers/crypto/cnxk/cnxk_cryptodev.h (revision 59f8c378)
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