1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2015-2018 Intel Corporation
5 #ifndef _QAT_SYM_PMD_H_
6 #define _QAT_SYM_PMD_H_
10 #include <rte_cryptodev.h>
12 #include "qat_sym_capabilities.h"
13 #include "qat_device.h"
15 /** Intel(R) QAT Symmetric Crypto PMD driver name */
16 #define CRYPTODEV_NAME_QAT_SYM_PMD crypto_qat
18 /* Internal capabilities */
19 #define QAT_SYM_CAP_MIXED_CRYPTO (1 << 0)
20 #define QAT_SYM_CAP_VALID (1 << 31)
22 extern uint8_t cryptodev_qat_driver_id;
24 /** private data structure for a QAT device.
25 * This QAT device is a device offering only symmetric crypto service,
26 * there can be one of these on each qat_pci_device (VF).
28 struct qat_sym_dev_private {
29 struct qat_pci_device *qat_dev;
30 /**< The qat pci device hosting the service */
32 /**< Device instance for this rte_cryptodev */
33 const struct rte_cryptodev_capabilities *qat_dev_capabilities;
34 /* QAT device symmetric crypto capabilities */
35 uint16_t min_enq_burst_threshold;
36 uint32_t internal_capabilities; /* see flags QAT_SYM_CAP_xxx */
40 qat_sym_dev_create(struct qat_pci_device *qat_pci_dev,
41 struct qat_dev_cmd_param *qat_dev_cmd_param);
44 qat_sym_dev_destroy(struct qat_pci_device *qat_pci_dev);
47 #endif /* _QAT_SYM_PMD_H_ */