[v1] drivers/cnxk: improve the build time for non arm64 build

Message ID 20230529092312.3855432-1-jerinj@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [v1] drivers/cnxk: improve the build time for non arm64 build |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation warning apply issues
ci/loongarch-compilation warning apply patch failure
ci/iol-testing warning apply patch failure

Commit Message

Jerin Jacob Kollanukkaran May 29, 2023, 9:23 a.m. UTC
  From: Jerin Jacob <jerinj@marvell.com>

Specialized fast path routines are not applicable to non
arm64 build, removing those function contained
files to improve the build time on non arm64 build.

Signed-off-by: Jerin Jacob <jerinj@marvell.com>
---
 drivers/event/cnxk/cn10k_eventdev.c |  5 +++++
 drivers/event/cnxk/cn9k_eventdev.c  |  4 ++++
 drivers/event/cnxk/meson.build      | 10 ++++++++++
 drivers/net/cnxk/cn10k_rx_select.c  |  6 +++++-
 drivers/net/cnxk/cn10k_tx_select.c  |  6 +++++-
 drivers/net/cnxk/cn9k_rx_select.c   |  6 +++++-
 drivers/net/cnxk/cn9k_tx_select.c   |  6 +++++-
 drivers/net/cnxk/meson.build        |  4 ++++
 8 files changed, 43 insertions(+), 4 deletions(-)
  

Comments

Nithin Dabilpuram May 31, 2023, 1:35 a.m. UTC | #1
Acked-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
  

Patch

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index fd71ff15ca..a7534efad6 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -297,7 +297,9 @@  cn10k_sso_updt_tx_adptr_data(const struct rte_eventdev *event_dev)
 static void
 cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 {
+#if defined(RTE_ARCH_ARM64)
 	struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
+
 	struct roc_cpt *cpt = roc_idev_cpt_get();
 	const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_deq_##name,
@@ -614,6 +616,9 @@  cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 		CN10K_SET_EVDEV_ENQ_OP(dev, event_dev->txa_enqueue, sso_hws_tx_adptr_enq);
 
 	event_dev->txa_enqueue_same_dest = event_dev->txa_enqueue;
+#else
+	RTE_SET_USED(event_dev);
+#endif
 }
 
 static void
diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
index b104d19b9b..0656940726 100644
--- a/drivers/event/cnxk/cn9k_eventdev.c
+++ b/drivers/event/cnxk/cn9k_eventdev.c
@@ -309,6 +309,7 @@  cn9k_sso_updt_tx_adptr_data(const struct rte_eventdev *event_dev)
 static void
 cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 {
+#if defined(RTE_ARCH_ARM64)
 	struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
 	/* Single WS modes */
 	const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = {
@@ -662,6 +663,9 @@  cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 
 	event_dev->txa_enqueue_same_dest = event_dev->txa_enqueue;
 	rte_mb();
+#else
+	RTE_SET_USED(event_dev);
+#endif
 }
 
 static void *
diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build
index 8a7fd53ebd..4f259988df 100644
--- a/drivers/event/cnxk/meson.build
+++ b/drivers/event/cnxk/meson.build
@@ -31,6 +31,10 @@  if soc_type == 'cn9k' or soc_type == 'all'
 sources += files(
         'cn9k_eventdev.c',
         'cn9k_worker.c',
+)
+
+if host_machine.cpu_family().startswith('aarch')
+sources += files(
         'deq/cn9k/deq_0_15_burst.c',
         'deq/cn9k/deq_16_31_burst.c',
         'deq/cn9k/deq_32_47_burst.c',
@@ -330,11 +334,16 @@  sources += files(
         'tx/cn9k/tx_112_127_dual_seg.c',
 )
 endif
+endif
 
 if soc_type == 'cn10k' or soc_type == 'all'
 sources += files(
         'cn10k_eventdev.c',
         'cn10k_worker.c',
+)
+
+if host_machine.cpu_family().startswith('aarch')
+sources += files(
         'deq/cn10k/deq_0_15_burst.c',
         'deq/cn10k/deq_16_31_burst.c',
         'deq/cn10k/deq_32_47_burst.c',
@@ -484,6 +493,7 @@  sources += files(
         'tx/cn10k/tx_112_127_seg.c',
 )
 endif
+endif
 
 extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing']
 foreach flag: extra_flags
diff --git a/drivers/net/cnxk/cn10k_rx_select.c b/drivers/net/cnxk/cn10k_rx_select.c
index 1e0de1b7ac..1d44f2924e 100644
--- a/drivers/net/cnxk/cn10k_rx_select.c
+++ b/drivers/net/cnxk/cn10k_rx_select.c
@@ -5,7 +5,7 @@ 
 #include "cn10k_ethdev.h"
 #include "cn10k_rx.h"
 
-static inline void
+static __rte_used void
 pick_rx_func(struct rte_eth_dev *eth_dev,
 	     const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
 {
@@ -25,6 +25,7 @@  pick_rx_func(struct rte_eth_dev *eth_dev,
 void
 cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
 {
+#if defined(RTE_ARCH_ARM64)
 	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
 
 	const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] = {
@@ -111,4 +112,7 @@  cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
 		return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_reas);
 	else
 		return pick_rx_func(eth_dev, nix_eth_rx_vec_burst);
+#else
+	RTE_SET_USED(eth_dev);
+#endif
 }
diff --git a/drivers/net/cnxk/cn10k_tx_select.c b/drivers/net/cnxk/cn10k_tx_select.c
index 54023c4234..404f5ba979 100644
--- a/drivers/net/cnxk/cn10k_tx_select.c
+++ b/drivers/net/cnxk/cn10k_tx_select.c
@@ -5,7 +5,7 @@ 
 #include "cn10k_ethdev.h"
 #include "cn10k_tx.h"
 
-static inline void
+static __rte_used inline void
 pick_tx_func(struct rte_eth_dev *eth_dev,
 	     const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
 {
@@ -23,6 +23,7 @@  pick_tx_func(struct rte_eth_dev *eth_dev,
 void
 cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
 {
+#if defined(RTE_ARCH_ARM64)
 	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
 
 	const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] = {
@@ -64,4 +65,7 @@  cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
 	}
 
 	rte_mb();
+#else
+	RTE_SET_USED(eth_dev);
+#endif
 }
diff --git a/drivers/net/cnxk/cn9k_rx_select.c b/drivers/net/cnxk/cn9k_rx_select.c
index 79f171fcc3..05bc33ce6a 100644
--- a/drivers/net/cnxk/cn9k_rx_select.c
+++ b/drivers/net/cnxk/cn9k_rx_select.c
@@ -5,7 +5,7 @@ 
 #include "cn9k_ethdev.h"
 #include "cn9k_rx.h"
 
-static inline void
+static __rte_used void
 pick_rx_func(struct rte_eth_dev *eth_dev,
 	     const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
 {
@@ -25,6 +25,7 @@  pick_rx_func(struct rte_eth_dev *eth_dev,
 void
 cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
 {
+#if defined(RTE_ARCH_ARM64)
 	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
 
 	const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] = {
@@ -68,4 +69,7 @@  cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
 	if (dev->rx_offloads & RTE_ETH_RX_OFFLOAD_SCATTER)
 		return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_mseg);
 	return pick_rx_func(eth_dev, nix_eth_rx_vec_burst);
+#else
+	RTE_SET_USED(eth_dev);
+#endif
 }
diff --git a/drivers/net/cnxk/cn9k_tx_select.c b/drivers/net/cnxk/cn9k_tx_select.c
index 62beb1bf38..e08883f032 100644
--- a/drivers/net/cnxk/cn9k_tx_select.c
+++ b/drivers/net/cnxk/cn9k_tx_select.c
@@ -5,7 +5,7 @@ 
 #include "cn9k_ethdev.h"
 #include "cn9k_tx.h"
 
-static inline void
+static __rte_used void
 pick_tx_func(struct rte_eth_dev *eth_dev,
 	     const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
 {
@@ -23,6 +23,7 @@  pick_tx_func(struct rte_eth_dev *eth_dev,
 void
 cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
 {
+#if defined(RTE_ARCH_ARM64)
 	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
 
 	const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] = {
@@ -60,4 +61,7 @@  cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
 	}
 
 	rte_mb();
+#else
+	RTE_SET_USED(eth_dev);
+#endif
 }
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index 62b8bb90fb..394d3d01f4 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -45,6 +45,7 @@  sources += files(
         'cn9k_tx_select.c',
 )
 
+if host_machine.cpu_family().startswith('aarch')
 sources += files(
         'rx/cn9k/rx_0_15.c',
         'rx/cn9k/rx_16_31.c',
@@ -115,6 +116,7 @@  sources += files(
         'tx/cn9k/tx_112_127_vec_mseg.c',
 )
 endif
+endif
 
 if soc_type == 'cn10k' or soc_type == 'all'
 # CN10K
@@ -126,6 +128,7 @@  sources += files(
         'cn10k_tx_select.c',
 )
 
+if host_machine.cpu_family().startswith('aarch')
 sources += files(
         'rx/cn10k/rx_0_15.c',
         'rx/cn10k/rx_16_31.c',
@@ -196,6 +199,7 @@  sources += files(
         'tx/cn10k/tx_112_127_vec_mseg.c',
 )
 endif
+endif
 
 deps += ['bus_pci', 'cryptodev', 'eventdev', 'security']
 deps += ['common_cnxk', 'mempool_cnxk']