DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] drivers: skip build of sub-libs not supporting IOVA mode
@ 2023-02-19 11:55 Thomas Monjalon
  2023-03-02 13:52 ` Zhang, Qi Z
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Thomas Monjalon @ 2023-02-19 11:55 UTC (permalink / raw)
  To: dev
  Cc: David Marchand, Bruce Richardson, Qi Zhang, stable, Jingjing Wu,
	Beilei Xing, Timothy McDaniel, Ajit Khaparde, Somnath Kotur,
	John Daley, Hyong Youb Kim, Dongdong Liu, Yisen Zhuang,
	Yuying Zhang, Maxime Coquelin, Chenbo Xia, Shijith Thotton,
	Olivier Matz

If IOVA as PA is disabled and the driver does not support IOVA as VA,
the build of the driver was disabled.
Unfortunately some drivers were building some sub-libraries
(with specific options for vector paths) which were not disabled.

The build parsing of those drivers need to be skipped earlier
to avoid defining the sub-libraries.

Fixes: a986c2b7973d ("build: add option to configure IOVA mode as PA")
Cc: stable@dpdk.org

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/common/idpf/meson.build | 4 ++++
 drivers/event/dlb2/meson.build  | 5 ++++-
 drivers/meson.build             | 4 ++--
 drivers/net/bnxt/meson.build    | 4 ++++
 drivers/net/enic/meson.build    | 4 ++++
 drivers/net/hns3/meson.build    | 4 +---
 drivers/net/i40e/meson.build    | 4 ++++
 drivers/net/iavf/meson.build    | 3 +++
 drivers/net/virtio/meson.build  | 4 ++++
 9 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build
index 58059ef443..74c0e92cac 100644
--- a/drivers/common/idpf/meson.build
+++ b/drivers/common/idpf/meson.build
@@ -1,6 +1,10 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2022 Intel Corporation
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 deps += ['mbuf']
 
 sources = files(
diff --git a/drivers/event/dlb2/meson.build b/drivers/event/dlb2/meson.build
index a2e60273c5..8ae7db0011 100644
--- a/drivers/event/dlb2/meson.build
+++ b/drivers/event/dlb2/meson.build
@@ -1,4 +1,3 @@
-
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019-2020 Intel Corporation
 
@@ -8,6 +7,10 @@ if not is_linux or not dpdk_conf.has('RTE_ARCH_X86_64')
         subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 sources = files(
         'dlb2.c',
         'dlb2_iface.c',
diff --git a/drivers/meson.build b/drivers/meson.build
index 0618c31a69..9c10e2633d 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -127,9 +127,9 @@ foreach subpath:subdirs
             # pull in driver directory which should update all the local variables
             subdir(drv_path)
 
-            if dpdk_conf.get('RTE_IOVA_AS_PA') == 0 and not pmd_supports_disable_iova_as_pa and not always_enable.contains(drv_path)
+            if not get_option('enable_iova_as_pa') and not pmd_supports_disable_iova_as_pa and not always_enable.contains(drv_path)
                 build = false
-                reason = 'driver does not support disabling IOVA as PA mode'
+                reason = 'IOVA as VA not supported'
             endif
 
             # get dependency objs from strings
diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build
index 09d494e90f..c9ca09089a 100644
--- a/drivers/net/bnxt/meson.build
+++ b/drivers/net/bnxt/meson.build
@@ -8,6 +8,10 @@ if is_windows
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 headers = files('rte_pmd_bnxt.h')
 cflags_options = [
         '-DSUPPORT_CFA_HW_ALL=1',
diff --git a/drivers/net/enic/meson.build b/drivers/net/enic/meson.build
index 7131a25f09..f1f7f5432a 100644
--- a/drivers/net/enic/meson.build
+++ b/drivers/net/enic/meson.build
@@ -7,6 +7,10 @@ if is_windows
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 sources = files(
         'base/vnic_cq.c',
         'base/vnic_dev.c',
diff --git a/drivers/net/hns3/meson.build b/drivers/net/hns3/meson.build
index e1a5afa2ec..743fae9db7 100644
--- a/drivers/net/hns3/meson.build
+++ b/drivers/net/hns3/meson.build
@@ -13,9 +13,7 @@ if arch_subdir != 'x86' and arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_
     subdir_done()
 endif
 
-if dpdk_conf.get('RTE_IOVA_AS_PA') == 0
-    build = false
-    reason = 'driver does not support disabling IOVA as PA mode'
+if not get_option('enable_iova_as_pa')
     subdir_done()
 endif
 
diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index e00c1a9ef9..689606a1de 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -13,6 +13,10 @@ if arch_subdir == 'riscv'
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 cflags += ['-DPF_DRIVER',
     '-DVF_DRIVER',
     '-DINTEGRATED_VF',
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index 6df771f917..c95503adda 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -1,6 +1,9 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
 
 cflags += ['-Wno-strict-aliasing']
 
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index 0ffd77024e..b8ba1807fa 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -7,6 +7,10 @@ if is_windows
     subdir_done()
 endif
 
+if not get_option('enable_iova_as_pa')
+    subdir_done()
+endif
+
 sources += files(
         'virtio.c',
         'virtio_cvq.c',
-- 
2.39.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2023-03-16 11:00 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-19 11:55 [PATCH] drivers: skip build of sub-libs not supporting IOVA mode Thomas Monjalon
2023-03-02 13:52 ` Zhang, Qi Z
2023-03-02 13:57   ` Thomas Monjalon
2023-03-02 14:16     ` Zhang, Qi Z
2023-03-03 14:23       ` Thomas Monjalon
2023-03-02 14:26 ` Morten Brørup
2023-03-02 16:01 ` [EXT] " Shijith Thotton
2023-03-06 16:13 ` [PATCH v2 0/2] refactor diasbling IOVA as PA Thomas Monjalon
2023-03-06 16:13   ` [PATCH v2 1/2] build: clarify configuration without IOVA field in mbuf Thomas Monjalon
2023-03-06 16:35     ` Morten Brørup
2023-03-06 16:39     ` Bruce Richardson
2023-03-06 19:49       ` Thomas Monjalon
2023-03-09  1:43     ` fengchengwen
2023-03-09  7:29       ` Thomas Monjalon
2023-03-09 11:23         ` fengchengwen
2023-03-09 12:12           ` Thomas Monjalon
2023-03-09 13:10             ` Bruce Richardson
2023-03-13 15:51               ` Thomas Monjalon
2023-03-06 16:13   ` [PATCH v2 2/2] drivers: skip build of sub-libs not supporting IOVA mode Thomas Monjalon
2023-03-14 14:29 ` [PATCH v3 0/5] refactor disabling IOVA as PA Thomas Monjalon
2023-03-14 14:29   ` [PATCH v3 1/5] build: clarify configuration without IOVA field in mbuf Thomas Monjalon
2023-03-15  1:56     ` fengchengwen
2023-03-16 11:00       ` Thomas Monjalon
2023-03-14 14:29   ` [PATCH v3 2/5] net/hns3: support IOVA forced as VA Thomas Monjalon
2023-03-14 14:29   ` [PATCH v3 3/5] dma/hisilicon: " Thomas Monjalon
2023-03-14 14:29   ` [PATCH v3 4/5] compress/octeontx: " Thomas Monjalon
2023-03-14 14:29   ` [PATCH v3 5/5] drivers: skip build of sub-libs not supporting IOVA mode Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).