1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2015-2018 Intel Corporation
5 #ifndef _QAT_COMP_PMD_H_
6 #define _QAT_COMP_PMD_H_
8 #ifdef RTE_LIBRTE_COMPRESSDEV
10 #include <rte_compressdev.h>
11 #include <rte_compressdev_pmd.h>
13 #include "qat_device.h"
15 /** private data structure for a QAT compression device.
16 * This QAT device is a device offering only a compression service,
17 * there can be one of these on each qat_pci_device (VF).
19 struct qat_comp_dev_private {
20 struct qat_pci_device *qat_dev;
21 /**< The qat pci device hosting the service */
22 struct rte_compressdev *compressdev;
23 /**< The pointer to this compression device structure */
24 const struct rte_compressdev_capabilities *qat_dev_capabilities;
25 /* QAT device compression capabilities */
26 const struct rte_memzone *interm_buff_mz;
27 /**< The device's memory for intermediate buffers */
28 struct rte_mempool *xformpool;
29 /**< The device's pool for qat_comp_xforms */
34 qat_comp_stats_reset(struct rte_compressdev *dev);
37 qat_comp_stats_get(struct rte_compressdev *dev,
38 struct rte_compressdev_stats *stats);
40 qat_comp_qp_release(struct rte_compressdev *dev, uint16_t queue_pair_id);
43 qat_comp_qp_setup(struct rte_compressdev *dev, uint16_t qp_id,
44 uint32_t max_inflight_ops, int socket_id);
47 qat_comp_dev_config(struct rte_compressdev *dev,
48 struct rte_compressdev_config *config);
51 qat_comp_dev_close(struct rte_compressdev *dev);
54 qat_comp_dev_info_get(struct rte_compressdev *dev,
55 struct rte_compressdev_info *info);
58 qat_comp_pmd_enqueue_op_burst(void *qp, struct rte_comp_op **ops,
62 qat_comp_pmd_dequeue_op_burst(void *qp, struct rte_comp_op **ops,
66 #endif /* _QAT_COMP_PMD_H_ */