compress/isal: fix getting information about CPU
authorTomasz Cel <tomaszx.cel@intel.com>
Thu, 7 Mar 2019 11:28:21 +0000 (12:28 +0100)
committerAkhil Goyal <akhil.goyal@nxp.com>
Tue, 2 Apr 2019 14:50:24 +0000 (16:50 +0200)
This patch adds query about CPU features

Fixes: 53a9baa98c36 ("compress/isal: add basic PMD ops")
Cc: stable@dpdk.org
Signed-off-by: Tomasz Cel <tomaszx.cel@intel.com>
Acked-by: Lee Daly <lee.daly@intel.com>
drivers/compress/isal/isal_compress_pmd_ops.c

index 7b91849..fe99959 100644 (file)
@@ -135,10 +135,18 @@ isal_comp_pmd_info_get(struct rte_compressdev *dev __rte_unused,
 {
        if (dev_info != NULL) {
                dev_info->capabilities = isal_pmd_capabilities;
-               dev_info->feature_flags = RTE_COMPDEV_FF_CPU_AVX512 |
-                               RTE_COMPDEV_FF_CPU_AVX2 |
-                               RTE_COMPDEV_FF_CPU_AVX |
-                               RTE_COMPDEV_FF_CPU_SSE;
+
+               /* Check CPU for supported vector instruction and set
+                * feature_flags
+                */
+               if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F))
+                       dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_AVX512;
+               else if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX2))
+                       dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_AVX2;
+               else if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX))
+                       dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_AVX;
+               else
+                       dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_SSE;
        }
 }