compress/isal: add ISA-L decomp functionality
[dpdk.git] / drivers / compress / isal / isal_compress_pmd_private.h
index 09ecfb7..46e9fcf 100644 (file)
@@ -18,6 +18,39 @@ struct isal_comp_private {
        struct rte_mempool *priv_xform_mp;
 };
 
+/** ISA-L queue pair */
+struct isal_comp_qp {
+       /* Queue Pair Identifier */
+       uint16_t id;
+       /* Unique Queue Pair Name */
+       char name[RTE_COMPRESSDEV_NAME_MAX_LEN];
+       /* Ring for placing process packets */
+       struct rte_ring *processed_pkts;
+       /* Queue pair statistics */
+       struct rte_compressdev_stats qp_stats;
+       /* Compression stream information*/
+       struct isal_zstream *stream;
+       /* Decompression state information*/
+       struct inflate_state *state;
+       /* Number of free elements on ring */
+       uint16_t num_free_elements;
+} __rte_cache_aligned;
+
+/** ISA-L private xform structure */
+struct isal_priv_xform {
+       enum rte_comp_xform_type type;
+       union {
+               struct rte_comp_compress_xform compress;
+               struct rte_comp_decompress_xform decompress;
+       };
+       uint32_t level_buffer_size;
+} __rte_cache_aligned;
+
+/** Set and validate NULL comp private xform parameters */
+extern int
+isal_comp_set_priv_xform_parameters(struct isal_priv_xform *priv_xform,
+                       const struct rte_comp_xform *xform);
+
 /** device specific operations function pointer structure */
 extern struct rte_compressdev_ops *isal_compress_pmd_ops;