Added Huffman fixed and dynamic encoding feature flags,
so an application can query if a device supports
these two types, when performing DEFLATE compression.

Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com>
---

Changes in v2:

- Fixed typo

 drivers/compress/isal/isal_compress_pmd_ops.c | 4 +++-
 lib/librte_compressdev/rte_comp.c             | 4 ++++
 lib/librte_compressdev/rte_comp.h             | 4 ++++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/compress/isal/isal_compress_pmd_ops.c 
b/drivers/compress/isal/isal_compress_pmd_ops.c
index 970a0413b..585f22802 100644
--- a/drivers/compress/isal/isal_compress_pmd_ops.c
+++ b/drivers/compress/isal/isal_compress_pmd_ops.c
@@ -12,7 +12,9 @@
 static const struct rte_compressdev_capabilities isal_pmd_capabilities[] = {
        {
                .algo = RTE_COMP_ALGO_DEFLATE,
-               .comp_feature_flags =   RTE_COMP_FF_SHAREABLE_PRIV_XFORM,
+               .comp_feature_flags =   RTE_COMP_FF_SHAREABLE_PRIV_XFORM |
+                                       RTE_COMP_FF_HUFFMAN_FIXED |
+                                       RTE_COMP_FF_HUFFMAN_DYNAMIC,
                .window_size = {
                        .min = 15,
                        .max = 15,
diff --git a/lib/librte_compressdev/rte_comp.c 
b/lib/librte_compressdev/rte_comp.c
index ea7692ae7..9711a86c8 100644
--- a/lib/librte_compressdev/rte_comp.c
+++ b/lib/librte_compressdev/rte_comp.c
@@ -36,6 +36,10 @@ rte_comp_get_feature_name(uint64_t flag)
                return "SHA2_SHA256_HASH";
        case RTE_COMP_FF_SHAREABLE_PRIV_XFORM:
                return "SHAREABLE_PRIV_XFORM";
+       case RTE_COMP_FF_HUFFMAN_FIXED:
+               return "HUFFMAN_FIXED";
+       case RTE_COMP_FF_HUFFMAN_DYNAMIC:
+               return "HUFFMAN_DYNAMIC";
        default:
                return NULL;
        }
diff --git a/lib/librte_compressdev/rte_comp.h 
b/lib/librte_compressdev/rte_comp.h
index f3742dafb..64f41e976 100644
--- a/lib/librte_compressdev/rte_comp.h
+++ b/lib/librte_compressdev/rte_comp.h
@@ -62,6 +62,10 @@ extern "C" {
  * to create as many priv_xforms as it expects to have stateless
  * operations in-flight.
  */
+#define RTE_COMP_FF_HUFFMAN_FIXED              (1ULL << 13)
+/**< Fixed huffman encoding is supported */
+#define RTE_COMP_FF_HUFFMAN_DYNAMIC            (1ULL << 14)
+/**< Dynamic huffman encoding is supported */
 
 /** Status of comp operation */
 enum rte_comp_op_status {
-- 
2.14.4

Reply via email to