1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Intel Corporation
11 /**< Intel(R) QAT device name for PCI registration */
12 #define QAT_PCI_NAME qat
13 #define QAT_64_BTYE_ALIGN_MASK (~0x3f)
15 /* Intel(R) QuickAssist Technology device generation is enumerated
16 * from one according to the generation of the device.
17 * QAT_GEN* is used as the index to find all devices
27 enum qat_service_type {
28 QAT_SERVICE_ASYMMETRIC,
29 QAT_SERVICE_SYMMETRIC,
30 QAT_SERVICE_COMPRESSION,
34 #define QAT_SERVICE_INVALID (QAT_MAX_SERVICES)
39 QAT_SVC_COMPRESSION = 2,
44 /**< Common struct for scatter-gather list operations */
51 #define qat_sgl_hdr struct { \
54 uint32_t num_mapped_bufs; \
60 /* flexible array of flat buffers*/
61 struct qat_flat_buf buffers[0];
62 } __rte_packed __rte_cache_aligned;
64 /** Common, i.e. not service-specific, statistics */
65 struct qat_common_stats {
66 uint64_t enqueued_count;
67 /**< Count of all operations enqueued */
68 uint64_t dequeued_count;
69 /**< Count of all operations dequeued */
71 uint64_t enqueue_err_count;
72 /**< Total error count on operations enqueued */
73 uint64_t dequeue_err_count;
74 /**< Total error count on operations dequeued */
75 uint64_t threshold_hit_count;
76 /**< Total number of times min qp threshold condition was fulfilled */
80 struct qat_pci_device;
83 qat_sgl_fill_array(struct rte_mbuf *buf, int64_t offset,
84 void *list_in, uint32_t data_len,
85 const uint16_t max_segs);
87 qat_stats_get(struct qat_pci_device *dev,
88 struct qat_common_stats *stats,
89 enum qat_service_type service);
91 qat_stats_reset(struct qat_pci_device *dev,
92 enum qat_service_type service);
95 qat_service_get_str(enum qat_service_type type);
97 #endif /* _QAT_COMMON_H_ */