crypto/cnxk: add max queue pairs limit option
[dpdk.git] / drivers / crypto / cnxk / cnxk_cryptodev.h
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        34
14 #define CNXK_SEC_CRYPTO_MAX_CAPS 4
15 #define CNXK_SEC_MAX_CAPS        5
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_ */