X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fcommon%2Fqat%2Fqat_common.h;h=23715085f4035d84481494fb47a3576274e9d982;hb=70d2f42110576c670a67abd35a4bb6a2d0b00980;hp=db85d54827df8778d000afa79b7ca149efc3ce04;hpb=98c4a35c736fb6c214416b67e80acb689d6fc877;p=dpdk.git diff --git a/drivers/common/qat/qat_common.h b/drivers/common/qat/qat_common.h index db85d54827..23715085f4 100644 --- a/drivers/common/qat/qat_common.h +++ b/drivers/common/qat/qat_common.h @@ -10,11 +10,6 @@ /**< Intel(R) QAT device name for PCI registration */ #define QAT_PCI_NAME qat -/* - * Maximum number of SGL entries - */ -#define QAT_SGL_MAX_NUMBER 16 - #define QAT_64_BTYE_ALIGN_MASK (~0x3f) /* Intel(R) QuickAssist Technology device generation is enumerated @@ -22,7 +17,9 @@ */ enum qat_device_gen { QAT_GEN1 = 1, - QAT_GEN2 + QAT_GEN2, + QAT_GEN3, + QAT_GEN4 }; enum qat_service_type { @@ -31,6 +28,15 @@ enum qat_service_type { QAT_SERVICE_COMPRESSION, QAT_SERVICE_INVALID }; + +enum qat_svc_list { + QAT_SVC_UNUSED = 0, + QAT_SVC_CRYPTO = 1, + QAT_SVC_COMPRESSION = 2, + QAT_SVC_SYM = 3, + QAT_SVC_ASYM = 4, +}; + #define QAT_MAX_SERVICES (QAT_SERVICE_INVALID) /**< Common struct for scatter-gather list operations */ @@ -40,11 +46,17 @@ struct qat_flat_buf { uint64_t addr; } __rte_packed; +#define qat_sgl_hdr struct { \ + uint64_t resrvd; \ + uint32_t num_bufs; \ + uint32_t num_mapped_bufs; \ +} + +__extension__ struct qat_sgl { - uint64_t resrvd; - uint32_t num_bufs; - uint32_t num_mapped_bufs; - struct qat_flat_buf buffers[QAT_SGL_MAX_NUMBER]; + qat_sgl_hdr; + /* flexible array of flat buffers*/ + struct qat_flat_buf buffers[0]; } __rte_packed __rte_cache_aligned; /** Common, i.e. not service-specific, statistics */ @@ -58,13 +70,17 @@ struct qat_common_stats { /**< Total error count on operations enqueued */ uint64_t dequeue_err_count; /**< Total error count on operations dequeued */ + uint64_t threshold_hit_count; + /**< Total number of times min qp threshold condition was fulfilled */ + }; struct qat_pci_device; int -qat_sgl_fill_array(struct rte_mbuf *buf, uint64_t buf_start, - struct qat_sgl *list, uint32_t data_len); +qat_sgl_fill_array(struct rte_mbuf *buf, int64_t offset, + void *list_in, uint32_t data_len, + const uint16_t max_segs); void qat_stats_get(struct qat_pci_device *dev, struct qat_common_stats *stats,