crypto/octeontx2: discover capabilities
[dpdk.git] / drivers / crypto / octeontx2 / otx2_cryptodev.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright (C) 2019 Marvell International Ltd.
3  */
4
5 #ifndef _OTX2_CRYPTODEV_H_
6 #define _OTX2_CRYPTODEV_H_
7
8 #include "cpt_common.h"
9
10 #include "otx2_dev.h"
11
12 /* Marvell OCTEON TX2 Crypto PMD device name */
13 #define CRYPTODEV_NAME_OCTEONTX2_PMD    crypto_octeontx2
14
15 #define OTX2_CPT_MAX_LFS                64
16 #define OTX2_CPT_MAX_QUEUES_PER_VF      64
17
18 /**
19  * Device private data
20  */
21 struct otx2_cpt_vf {
22         struct otx2_dev otx2_dev;
23         /**< Base class */
24         uint16_t max_queues;
25         /**< Max queues supported */
26         uint8_t nb_queues;
27         /**< Number of crypto queues attached */
28         uint16_t lf_msixoff[OTX2_CPT_MAX_LFS];
29         /**< MSI-X offsets */
30         uint8_t err_intr_registered:1;
31         /**< Are error interrupts registered? */
32         union cpt_eng_caps hw_caps[CPT_MAX_ENG_TYPES];
33         /**< CPT device capabilities */
34 };
35
36 #define CPT_LOGTYPE otx2_cpt_logtype
37
38 extern int otx2_cpt_logtype;
39
40 /*
41  * Crypto device driver ID
42  */
43 extern uint8_t otx2_cryptodev_driver_id;
44
45 #endif /* _OTX2_CRYPTODEV_H_ */