New upstream version 18.08
[deb_dpdk.git] / drivers / crypto / qat / qat_sym_pmd.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2015-2018 Intel Corporation
3  */
4
5 #ifndef _QAT_SYM_PMD_H_
6 #define _QAT_SYM_PMD_H_
7
8 #ifdef BUILD_QAT_SYM
9
10 #include <rte_cryptodev.h>
11
12 #include "qat_sym_capabilities.h"
13 #include "qat_device.h"
14
15 /**< Intel(R) QAT Symmetric Crypto PMD device name */
16 #define CRYPTODEV_NAME_QAT_SYM_PMD      crypto_qat
17
18 extern uint8_t cryptodev_qat_driver_id;
19
20 /** private data structure for a QAT device.
21  * This QAT device is a device offering only symmetric crypto service,
22  * there can be one of these on each qat_pci_device (VF),
23  * in future there may also be private data structures for other services.
24  */
25 struct qat_sym_dev_private {
26         struct qat_pci_device *qat_dev;
27         /**< The qat pci device hosting the service */
28         uint8_t sym_dev_id;
29         /**< Device instance for this rte_cryptodev */
30         const struct rte_cryptodev_capabilities *qat_dev_capabilities;
31         /* QAT device symmetric crypto capabilities */
32 };
33
34 int
35 qat_sym_dev_create(struct qat_pci_device *qat_pci_dev);
36
37 int
38 qat_sym_dev_destroy(struct qat_pci_device *qat_pci_dev);
39
40 #endif
41 #endif /* _QAT_SYM_PMD_H_ */