All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ruifeng Wang <ruifeng.wang@arm.com>
To: Lee Daly <lee.daly@intel.com>,
	Fiona Trahe <fiona.trahe@intel.com>,
	Ashish Gupta <ashish.gupta@marvell.com>
Cc: dev@dpdk.org, alexeymar@nvidia.com, nd@arm.com,
	honnappa.nagarahalli@arm.com, Ruifeng Wang <ruifeng.wang@arm.com>
Subject: [dpdk-dev] [PATCH] compress/isal: support Arm platform
Date: Thu, 15 Jul 2021 16:05:02 +0800	[thread overview]
Message-ID: <20210715080502.2804934-1-ruifeng.wang@arm.com> (raw)

Isal compress PMD has build failures on Arm platform.

As dependent library ISA-L is supported on Arm platform,
support of the PMD is expanded to Arm architecture.
Fixed build failure caused by architecture specific code,
and made the PMD multi architecture compatible.

Bugzilla ID: 755
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 doc/guides/rel_notes/release_21_08.rst        | 3 +++
 drivers/compress/isal/isal_compress_pmd.c     | 6 +++++-
 drivers/compress/isal/isal_compress_pmd_ops.c | 6 ++++++
 3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/doc/guides/rel_notes/release_21_08.rst b/doc/guides/rel_notes/release_21_08.rst
index 6a902ef9ac..9e2e1de7fe 100644
--- a/doc/guides/rel_notes/release_21_08.rst
+++ b/doc/guides/rel_notes/release_21_08.rst
@@ -117,6 +117,9 @@ New Features
   The experimental PMD power management API now supports managing
   multiple Ethernet Rx queues per lcore.
 
+* **Updated ISAL compress device PMD.**
+
+  The ISAL compress device PMD now supports Arm platforms.
 
 Removed Items
 -------------
diff --git a/drivers/compress/isal/isal_compress_pmd.c b/drivers/compress/isal/isal_compress_pmd.c
index 81b937ee73..b7ba61c434 100644
--- a/drivers/compress/isal/isal_compress_pmd.c
+++ b/drivers/compress/isal/isal_compress_pmd.c
@@ -5,6 +5,7 @@
 
 #include <rte_bus_vdev.h>
 #include <rte_common.h>
+#include <rte_cpuflags.h>
 #include <rte_malloc.h>
 #include <rte_mbuf.h>
 #include <rte_compressdev_pmd.h>
@@ -146,6 +147,7 @@ isal_comp_set_priv_xform_parameters(struct isal_priv_xform *priv_xform,
 				break;
 			/* Level 3 or higher requested */
 			default:
+#ifdef RTE_ARCH_X86
 				/* Check for AVX512, to use ISA-L level 3 */
 				if (rte_cpu_get_flag_enabled(
 						RTE_CPUFLAG_AVX512F)) {
@@ -161,7 +163,9 @@ isal_comp_set_priv_xform_parameters(struct isal_priv_xform *priv_xform,
 						RTE_COMP_ISAL_LEVEL_THREE;
 					priv_xform->level_buffer_size =
 						ISAL_DEF_LVL3_DEFAULT;
-				} else {
+				} else
+#endif
+				{
 					ISAL_PMD_LOG(DEBUG, "Requested ISA-L level"
 						" 3 or above; Level 3 optimized"
 						" for AVX512 & AVX2 only."
diff --git a/drivers/compress/isal/isal_compress_pmd_ops.c b/drivers/compress/isal/isal_compress_pmd_ops.c
index 7d03749da3..9b42147a0b 100644
--- a/drivers/compress/isal/isal_compress_pmd_ops.c
+++ b/drivers/compress/isal/isal_compress_pmd_ops.c
@@ -4,6 +4,7 @@
 #include <isa-l.h>
 
 #include <rte_common.h>
+#include <rte_cpuflags.h>
 #include <rte_compressdev_pmd.h>
 #include <rte_malloc.h>
 
@@ -139,6 +140,7 @@ isal_comp_pmd_info_get(struct rte_compressdev *dev __rte_unused,
 		/* Check CPU for supported vector instruction and set
 		 * feature_flags
 		 */
+#if defined(RTE_ARCH_X86)
 		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))
@@ -147,6 +149,10 @@ isal_comp_pmd_info_get(struct rte_compressdev *dev __rte_unused,
 			dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_AVX;
 		else
 			dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_SSE;
+#elif defined(RTE_ARCH_ARM)
+		if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_NEON))
+			dev_info->feature_flags |= RTE_COMPDEV_FF_CPU_NEON;
+#endif
 	}
 }
 
-- 
2.25.1


             reply	other threads:[~2021-07-15  8:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-15  8:05 Ruifeng Wang [this message]
2021-07-18 10:12 ` [dpdk-dev] [EXT] [PATCH] compress/isal: support Arm platform Akhil Goyal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210715080502.2804934-1-ruifeng.wang@arm.com \
    --to=ruifeng.wang@arm.com \
    --cc=alexeymar@nvidia.com \
    --cc=ashish.gupta@marvell.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=honnappa.nagarahalli@arm.com \
    --cc=lee.daly@intel.com \
    --cc=nd@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.