* [PATCH 0/4] remove common iavf and idpf drivers @ 2025-01-28 16:36 Bruce Richardson 2025-01-28 16:36 ` [PATCH 1/4] drivers: merge common and net " Bruce Richardson ` (5 more replies) 0 siblings, 6 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-28 16:36 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson The iavf and idpf common directories were used only to share code between multiple net drivers and did not need to be drivers in their own right, since it is just as easy to have a dependency from one net driver on another as a net driver on a common one. This patchset therefore aims to eliminate the two unnecessary common drivers. It does so as follows: * merging common/idpf into net/idpf and updating the cpfl dependency to point to the net driver. * merging common/iavf into net/iavf and similarly updating the dependencies, including the paths from idpf (which does not directly depend on iavf, but does make use of the definitions in the iavf header files). Separately, two other cleanups are done - one to remove an unnecessary warning disable flag. The second is a little more complex - it makes the dependency between ice and iavf an optional one, by having ice compile in the necessary iavf shared code files in case iavf is disabled in the build. Bruce Richardson (4): drivers: merge common and net idpf drivers net/idpf: re-enable unused variable warnings drivers: move iavf common folder to iavf net net/intel: allow building ice driver without iavf drivers/common/iavf/version.map | 13 ------- drivers/common/idpf/meson.build | 34 ------------------- drivers/common/meson.build | 2 -- drivers/net/intel/cpfl/meson.build | 2 +- .../iavf => net/intel/iavf/base}/README | 0 .../intel/iavf/base}/iavf_adminq.c | 0 .../intel/iavf/base}/iavf_adminq.h | 0 .../intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../intel/iavf/base}/iavf_common.c | 0 .../intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../intel/iavf/base}/iavf_prototype.h | 8 +++++ .../intel/iavf/base}/iavf_register.h | 0 .../intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 ++++--- drivers/net/intel/iavf/version.map | 14 ++++++++ drivers/net/intel/ice/meson.build | 18 +++++++--- .../{common => net/intel}/idpf/base/README | 0 .../intel}/idpf/base/idpf_alloc.h | 0 .../intel}/idpf/base/idpf_controlq.c | 0 .../intel}/idpf/base/idpf_controlq.h | 0 .../intel}/idpf/base/idpf_controlq_api.h | 0 .../intel}/idpf/base/idpf_controlq_setup.c | 0 .../intel}/idpf/base/idpf_devids.h | 0 .../intel}/idpf/base/idpf_lan_pf_regs.h | 0 .../intel}/idpf/base/idpf_lan_txrx.h | 0 .../intel}/idpf/base/idpf_lan_vf_regs.h | 0 .../intel}/idpf/base/idpf_osdep.h | 0 .../intel}/idpf/base/idpf_prototype.h | 0 .../intel}/idpf/base/idpf_type.h | 0 .../intel}/idpf/base/meson.build | 9 ----- .../intel}/idpf/base/siov_regs.h | 0 .../intel}/idpf/base/virtchnl2.h | 0 .../intel}/idpf/base/virtchnl2_lan_desc.h | 0 .../intel}/idpf/idpf_common_device.c | 0 .../intel}/idpf/idpf_common_device.h | 0 .../intel}/idpf/idpf_common_logs.h | 0 .../intel}/idpf/idpf_common_rxtx.c | 2 -- .../intel}/idpf/idpf_common_rxtx.h | 0 .../intel}/idpf/idpf_common_rxtx_avx512.c | 0 .../intel}/idpf/idpf_common_virtchnl.c | 4 +-- .../intel}/idpf/idpf_common_virtchnl.h | 0 drivers/net/intel/idpf/meson.build | 20 +++++++++-- .../{common => net/intel}/idpf/version.map | 0 drivers/net/meson.build | 2 +- 51 files changed, 67 insertions(+), 74 deletions(-) delete mode 100644 drivers/common/iavf/version.map delete mode 100644 drivers/common/idpf/meson.build rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (94%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) rename drivers/{common => net/intel}/idpf/base/README (100%) rename drivers/{common => net/intel}/idpf/base/idpf_alloc.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_api.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_setup.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_devids.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_pf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_txrx.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_vf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_osdep.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_prototype.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_type.h (100%) rename drivers/{common => net/intel}/idpf/base/meson.build (51%) rename drivers/{common => net/intel}/idpf/base/siov_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2_lan_desc.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_logs.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.c (99%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx_avx512.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.c (99%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.h (100%) rename drivers/{common => net/intel}/idpf/version.map (100%) -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/4] drivers: merge common and net idpf drivers 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson @ 2025-01-28 16:36 ` Bruce Richardson 2025-01-28 16:36 ` [PATCH 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson ` (4 subsequent siblings) 5 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-28 16:36 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Jingjing Wu, Praveen Shetty, Konstantin Ananyev Rather than having some of the idpf code split out into the "common" directory, used by both a net/idpf and a net/cpfl driver, we can merge all idpf code together under net/idpf and have the cpfl driver depend on "net/idpf" rather than "common/idpf". Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/common/idpf/meson.build | 34 ------------------- drivers/common/meson.build | 1 - drivers/net/intel/cpfl/meson.build | 2 +- .../{common => net/intel}/idpf/base/README | 0 .../intel}/idpf/base/idpf_alloc.h | 0 .../intel}/idpf/base/idpf_controlq.c | 0 .../intel}/idpf/base/idpf_controlq.h | 0 .../intel}/idpf/base/idpf_controlq_api.h | 0 .../intel}/idpf/base/idpf_controlq_setup.c | 0 .../intel}/idpf/base/idpf_devids.h | 0 .../intel}/idpf/base/idpf_lan_pf_regs.h | 0 .../intel}/idpf/base/idpf_lan_txrx.h | 0 .../intel}/idpf/base/idpf_lan_vf_regs.h | 0 .../intel}/idpf/base/idpf_osdep.h | 0 .../intel}/idpf/base/idpf_prototype.h | 0 .../intel}/idpf/base/idpf_type.h | 0 .../intel}/idpf/base/meson.build | 0 .../intel}/idpf/base/siov_regs.h | 0 .../intel}/idpf/base/virtchnl2.h | 0 .../intel}/idpf/base/virtchnl2_lan_desc.h | 0 .../intel}/idpf/idpf_common_device.c | 0 .../intel}/idpf/idpf_common_device.h | 0 .../intel}/idpf/idpf_common_logs.h | 0 .../intel}/idpf/idpf_common_rxtx.c | 0 .../intel}/idpf/idpf_common_rxtx.h | 0 .../intel}/idpf/idpf_common_rxtx_avx512.c | 0 .../intel}/idpf/idpf_common_virtchnl.c | 0 .../intel}/idpf/idpf_common_virtchnl.h | 0 drivers/net/intel/idpf/meson.build | 20 +++++++++-- .../{common => net/intel}/idpf/version.map | 0 drivers/net/meson.build | 2 +- 31 files changed, 20 insertions(+), 39 deletions(-) delete mode 100644 drivers/common/idpf/meson.build rename drivers/{common => net/intel}/idpf/base/README (100%) rename drivers/{common => net/intel}/idpf/base/idpf_alloc.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_api.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_setup.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_devids.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_pf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_txrx.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_vf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_osdep.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_prototype.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_type.h (100%) rename drivers/{common => net/intel}/idpf/base/meson.build (100%) rename drivers/{common => net/intel}/idpf/base/siov_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2_lan_desc.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_logs.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx_avx512.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.h (100%) rename drivers/{common => net/intel}/idpf/version.map (100%) diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build deleted file mode 100644 index 46fd45c03b..0000000000 --- a/drivers/common/idpf/meson.build +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2022 Intel Corporation - -if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 - subdir_done() -endif - -includes += include_directories('../iavf') - -deps += ['mbuf'] - -sources = files( - 'idpf_common_device.c', - 'idpf_common_rxtx.c', - 'idpf_common_virtchnl.c', -) - -if arch_subdir == 'x86' - if cc_has_avx512 - cflags += ['-DCC_AVX512_SUPPORT'] - avx512_args = cflags + cc_avx512_flags - if cc.has_argument('-march=skylake-avx512') - avx512_args += '-march=skylake-avx512' - endif - idpf_common_avx512_lib = static_library('idpf_common_avx512_lib', - 'idpf_common_rxtx_avx512.c', - dependencies: [static_rte_mbuf,], - include_directories: includes, - c_args: avx512_args) - objs += idpf_common_avx512_lib.extract_objects('idpf_common_rxtx_avx512.c') - endif -endif - -subdir('base') diff --git a/drivers/common/meson.build b/drivers/common/meson.build index 8734af36aa..e1e3149d8f 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -6,7 +6,6 @@ drivers = [ 'cpt', 'dpaax', 'iavf', - 'idpf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/net/intel/cpfl/meson.build b/drivers/net/intel/cpfl/meson.build index 87fcfe0bb1..1f0269d50b 100644 --- a/drivers/net/intel/cpfl/meson.build +++ b/drivers/net/intel/cpfl/meson.build @@ -11,7 +11,7 @@ if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 subdir_done() endif -deps += ['hash', 'common_idpf'] +deps += ['hash', 'net_idpf'] sources = files( 'cpfl_ethdev.c', diff --git a/drivers/common/idpf/base/README b/drivers/net/intel/idpf/base/README similarity index 100% rename from drivers/common/idpf/base/README rename to drivers/net/intel/idpf/base/README diff --git a/drivers/common/idpf/base/idpf_alloc.h b/drivers/net/intel/idpf/base/idpf_alloc.h similarity index 100% rename from drivers/common/idpf/base/idpf_alloc.h rename to drivers/net/intel/idpf/base/idpf_alloc.h diff --git a/drivers/common/idpf/base/idpf_controlq.c b/drivers/net/intel/idpf/base/idpf_controlq.c similarity index 100% rename from drivers/common/idpf/base/idpf_controlq.c rename to drivers/net/intel/idpf/base/idpf_controlq.c diff --git a/drivers/common/idpf/base/idpf_controlq.h b/drivers/net/intel/idpf/base/idpf_controlq.h similarity index 100% rename from drivers/common/idpf/base/idpf_controlq.h rename to drivers/net/intel/idpf/base/idpf_controlq.h diff --git a/drivers/common/idpf/base/idpf_controlq_api.h b/drivers/net/intel/idpf/base/idpf_controlq_api.h similarity index 100% rename from drivers/common/idpf/base/idpf_controlq_api.h rename to drivers/net/intel/idpf/base/idpf_controlq_api.h diff --git a/drivers/common/idpf/base/idpf_controlq_setup.c b/drivers/net/intel/idpf/base/idpf_controlq_setup.c similarity index 100% rename from drivers/common/idpf/base/idpf_controlq_setup.c rename to drivers/net/intel/idpf/base/idpf_controlq_setup.c diff --git a/drivers/common/idpf/base/idpf_devids.h b/drivers/net/intel/idpf/base/idpf_devids.h similarity index 100% rename from drivers/common/idpf/base/idpf_devids.h rename to drivers/net/intel/idpf/base/idpf_devids.h diff --git a/drivers/common/idpf/base/idpf_lan_pf_regs.h b/drivers/net/intel/idpf/base/idpf_lan_pf_regs.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_pf_regs.h rename to drivers/net/intel/idpf/base/idpf_lan_pf_regs.h diff --git a/drivers/common/idpf/base/idpf_lan_txrx.h b/drivers/net/intel/idpf/base/idpf_lan_txrx.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_txrx.h rename to drivers/net/intel/idpf/base/idpf_lan_txrx.h diff --git a/drivers/common/idpf/base/idpf_lan_vf_regs.h b/drivers/net/intel/idpf/base/idpf_lan_vf_regs.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_vf_regs.h rename to drivers/net/intel/idpf/base/idpf_lan_vf_regs.h diff --git a/drivers/common/idpf/base/idpf_osdep.h b/drivers/net/intel/idpf/base/idpf_osdep.h similarity index 100% rename from drivers/common/idpf/base/idpf_osdep.h rename to drivers/net/intel/idpf/base/idpf_osdep.h diff --git a/drivers/common/idpf/base/idpf_prototype.h b/drivers/net/intel/idpf/base/idpf_prototype.h similarity index 100% rename from drivers/common/idpf/base/idpf_prototype.h rename to drivers/net/intel/idpf/base/idpf_prototype.h diff --git a/drivers/common/idpf/base/idpf_type.h b/drivers/net/intel/idpf/base/idpf_type.h similarity index 100% rename from drivers/common/idpf/base/idpf_type.h rename to drivers/net/intel/idpf/base/idpf_type.h diff --git a/drivers/common/idpf/base/meson.build b/drivers/net/intel/idpf/base/meson.build similarity index 100% rename from drivers/common/idpf/base/meson.build rename to drivers/net/intel/idpf/base/meson.build diff --git a/drivers/common/idpf/base/siov_regs.h b/drivers/net/intel/idpf/base/siov_regs.h similarity index 100% rename from drivers/common/idpf/base/siov_regs.h rename to drivers/net/intel/idpf/base/siov_regs.h diff --git a/drivers/common/idpf/base/virtchnl2.h b/drivers/net/intel/idpf/base/virtchnl2.h similarity index 100% rename from drivers/common/idpf/base/virtchnl2.h rename to drivers/net/intel/idpf/base/virtchnl2.h diff --git a/drivers/common/idpf/base/virtchnl2_lan_desc.h b/drivers/net/intel/idpf/base/virtchnl2_lan_desc.h similarity index 100% rename from drivers/common/idpf/base/virtchnl2_lan_desc.h rename to drivers/net/intel/idpf/base/virtchnl2_lan_desc.h diff --git a/drivers/common/idpf/idpf_common_device.c b/drivers/net/intel/idpf/idpf_common_device.c similarity index 100% rename from drivers/common/idpf/idpf_common_device.c rename to drivers/net/intel/idpf/idpf_common_device.c diff --git a/drivers/common/idpf/idpf_common_device.h b/drivers/net/intel/idpf/idpf_common_device.h similarity index 100% rename from drivers/common/idpf/idpf_common_device.h rename to drivers/net/intel/idpf/idpf_common_device.h diff --git a/drivers/common/idpf/idpf_common_logs.h b/drivers/net/intel/idpf/idpf_common_logs.h similarity index 100% rename from drivers/common/idpf/idpf_common_logs.h rename to drivers/net/intel/idpf/idpf_common_logs.h diff --git a/drivers/common/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx.c rename to drivers/net/intel/idpf/idpf_common_rxtx.c diff --git a/drivers/common/idpf/idpf_common_rxtx.h b/drivers/net/intel/idpf/idpf_common_rxtx.h similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx.h rename to drivers/net/intel/idpf/idpf_common_rxtx.h diff --git a/drivers/common/idpf/idpf_common_rxtx_avx512.c b/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx_avx512.c rename to drivers/net/intel/idpf/idpf_common_rxtx_avx512.c diff --git a/drivers/common/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c similarity index 100% rename from drivers/common/idpf/idpf_common_virtchnl.c rename to drivers/net/intel/idpf/idpf_common_virtchnl.c diff --git a/drivers/common/idpf/idpf_common_virtchnl.h b/drivers/net/intel/idpf/idpf_common_virtchnl.h similarity index 100% rename from drivers/common/idpf/idpf_common_virtchnl.h rename to drivers/net/intel/idpf/idpf_common_virtchnl.h diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 34cbdc4da0..52405b5b35 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,13 +7,29 @@ if is_windows subdir_done() endif -deps += ['common_idpf'] +includes += include_directories('../../../common/iavf') sources = files( + 'idpf_common_device.c', + 'idpf_common_rxtx.c', + 'idpf_common_virtchnl.c', + 'idpf_ethdev.c', 'idpf_rxtx.c', ) -if arch_subdir == 'x86'and cc_has_avx512 +if arch_subdir == 'x86' and cc_has_avx512 cflags += ['-DCC_AVX512_SUPPORT'] + avx512_args = cflags + cc_avx512_flags + if cc.has_argument('-march=skylake-avx512') + avx512_args += '-march=skylake-avx512' + endif + idpf_common_avx512_lib = static_library('idpf_common_avx512_lib', + 'idpf_common_rxtx_avx512.c', + dependencies: static_rte_mbuf, + include_directories: includes, + c_args: avx512_args) + objs += idpf_common_avx512_lib.extract_objects('idpf_common_rxtx_avx512.c') endif + +subdir('base') diff --git a/drivers/common/idpf/version.map b/drivers/net/intel/idpf/version.map similarity index 100% rename from drivers/common/idpf/version.map rename to drivers/net/intel/idpf/version.map diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 02a3f5a0b6..bcf6f9dc73 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,6 @@ drivers = [ 'gve', 'hinic', 'hns3', - 'intel/cpfl', 'intel/e1000', 'intel/fm10k', 'intel/i40e', @@ -34,6 +33,7 @@ drivers = [ 'intel/igc', 'intel/ipn3ke', 'intel/ixgbe', + 'intel/cpfl', # depends on idpf, so must come after it 'ionic', 'mana', 'memif', -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 2/4] net/idpf: re-enable unused variable warnings 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-28 16:36 ` [PATCH 1/4] drivers: merge common and net " Bruce Richardson @ 2025-01-28 16:36 ` Bruce Richardson 2025-01-28 16:36 ` [PATCH 3/4] drivers: move iavf common folder to iavf net Bruce Richardson ` (3 subsequent siblings) 5 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-28 16:36 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Jingjing Wu, Praveen Shetty The idpf driver was being built with warnings disabled for unused variables. However, while the warning was being disabled in the base code directory, all suppressed warnings were in the main directory. Therefore, just remove the unused variables and re-enable the warnings. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/idpf/base/meson.build | 9 --------- drivers/net/intel/idpf/idpf_common_rxtx.c | 2 -- drivers/net/intel/idpf/idpf_common_virtchnl.c | 4 ++-- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/net/intel/idpf/base/meson.build b/drivers/net/intel/idpf/base/meson.build index f30ec7dfc2..7316e0a805 100644 --- a/drivers/net/intel/idpf/base/meson.build +++ b/drivers/net/intel/idpf/base/meson.build @@ -5,12 +5,3 @@ sources += files( 'idpf_controlq.c', 'idpf_controlq_setup.c', ) - -error_cflags = [ - '-Wno-unused-variable', -] -foreach flag: error_cflags - if cc.has_argument(flag) - cflags += flag - endif -endforeach diff --git a/drivers/net/intel/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c index a04e54ce26..9b17279181 100644 --- a/drivers/net/intel/idpf/idpf_common_rxtx.c +++ b/drivers/net/intel/idpf/idpf_common_rxtx.c @@ -1178,7 +1178,6 @@ idpf_dp_singleq_recv_scatter_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, struct rte_mbuf *last_seg = rxq->pkt_last_seg; struct rte_mbuf *rxm; struct rte_mbuf *nmb; - struct rte_eth_dev *dev; const uint32_t *ptype_tbl = rxq->adapter->ptype_tbl; uint16_t rx_id = rxq->rx_tail; uint16_t rx_packet_len; @@ -1310,7 +1309,6 @@ idpf_xmit_cleanup(struct idpf_tx_queue *txq) uint16_t nb_tx_desc = txq->nb_tx_desc; uint16_t desc_to_clean_to; uint16_t nb_tx_to_clean; - uint16_t i; volatile struct idpf_base_tx_desc *txd = txq->tx_ring; diff --git a/drivers/net/intel/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c index de511da788..0ae1d55d79 100644 --- a/drivers/net/intel/idpf/idpf_common_virtchnl.c +++ b/drivers/net/intel/idpf/idpf_common_virtchnl.c @@ -362,7 +362,7 @@ idpf_vc_queue_grps_add(struct idpf_vport *vport, { struct idpf_adapter *adapter = vport->adapter; struct idpf_cmd_info args; - int size, qg_info_size; + int size; int err = -1; size = sizeof(*p2p_queue_grps_info) + @@ -1044,7 +1044,7 @@ int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_in struct idpf_adapter *adapter = vport->adapter; struct virtchnl2_config_rx_queues *vc_rxqs = NULL; struct idpf_cmd_info args; - int size, err, i; + int size, err; size = sizeof(*vc_rxqs) + (num_qs - 1) * sizeof(struct virtchnl2_rxq_info); -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 3/4] drivers: move iavf common folder to iavf net 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-28 16:36 ` [PATCH 1/4] drivers: merge common and net " Bruce Richardson 2025-01-28 16:36 ` [PATCH 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson @ 2025-01-28 16:36 ` Bruce Richardson 2025-01-28 16:36 ` [PATCH 4/4] net/intel: allow building ice driver without iavf Bruce Richardson ` (2 subsequent siblings) 5 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-28 16:36 UTC (permalink / raw) To: dev Cc: Bruce Richardson, Vladimir Medvedkin, Ian Stokes, Anatoly Burakov, Jingjing Wu, Praveen Shetty The common/iavf driver folder contains the base code for the iavf driver, which is also linked against by the ice driver and others. However, there is no need for this to be in common, and we can move it to the net/intel/iavf as a base code driver. This involves updating dependencies that were on common/iavf to net/iavf Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/common/iavf/version.map | 13 ------------- drivers/common/meson.build | 1 - .../{common/iavf => net/intel/iavf/base}/README | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.c | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.h | 0 .../iavf => net/intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../iavf => net/intel/iavf/base}/iavf_common.c | 0 .../iavf => net/intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../iavf => net/intel/iavf/base}/iavf_prototype.h | 0 .../iavf => net/intel/iavf/base}/iavf_register.h | 0 .../iavf => net/intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 +++++++++---- drivers/net/intel/iavf/version.map | 14 ++++++++++++++ drivers/net/intel/ice/meson.build | 7 +++---- drivers/net/intel/idpf/meson.build | 2 +- 22 files changed, 27 insertions(+), 23 deletions(-) delete mode 100644 drivers/common/iavf/version.map rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) diff --git a/drivers/common/iavf/version.map b/drivers/common/iavf/version.map deleted file mode 100644 index 6c1427cca4..0000000000 --- a/drivers/common/iavf/version.map +++ /dev/null @@ -1,13 +0,0 @@ -INTERNAL { - global: - - iavf_aq_send_msg_to_pf; - iavf_clean_arq_element; - iavf_init_adminq; - iavf_set_mac_type; - iavf_shutdown_adminq; - iavf_vf_parse_hw_config; - iavf_vf_reset; - - local: *; -}; diff --git a/drivers/common/meson.build b/drivers/common/meson.build index e1e3149d8f..dc096aab0a 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -5,7 +5,6 @@ std_deps = ['eal'] drivers = [ 'cpt', 'dpaax', - 'iavf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/common/iavf/README b/drivers/net/intel/iavf/base/README similarity index 100% rename from drivers/common/iavf/README rename to drivers/net/intel/iavf/base/README diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/net/intel/iavf/base/iavf_adminq.c similarity index 100% rename from drivers/common/iavf/iavf_adminq.c rename to drivers/net/intel/iavf/base/iavf_adminq.c diff --git a/drivers/common/iavf/iavf_adminq.h b/drivers/net/intel/iavf/base/iavf_adminq.h similarity index 100% rename from drivers/common/iavf/iavf_adminq.h rename to drivers/net/intel/iavf/base/iavf_adminq.h diff --git a/drivers/common/iavf/iavf_adminq_cmd.h b/drivers/net/intel/iavf/base/iavf_adminq_cmd.h similarity index 100% rename from drivers/common/iavf/iavf_adminq_cmd.h rename to drivers/net/intel/iavf/base/iavf_adminq_cmd.h diff --git a/drivers/common/iavf/iavf_alloc.h b/drivers/net/intel/iavf/base/iavf_alloc.h similarity index 100% rename from drivers/common/iavf/iavf_alloc.h rename to drivers/net/intel/iavf/base/iavf_alloc.h diff --git a/drivers/common/iavf/iavf_common.c b/drivers/net/intel/iavf/base/iavf_common.c similarity index 100% rename from drivers/common/iavf/iavf_common.c rename to drivers/net/intel/iavf/base/iavf_common.c diff --git a/drivers/common/iavf/iavf_devids.h b/drivers/net/intel/iavf/base/iavf_devids.h similarity index 100% rename from drivers/common/iavf/iavf_devids.h rename to drivers/net/intel/iavf/base/iavf_devids.h diff --git a/drivers/common/iavf/iavf_impl.c b/drivers/net/intel/iavf/base/iavf_impl.c similarity index 100% rename from drivers/common/iavf/iavf_impl.c rename to drivers/net/intel/iavf/base/iavf_impl.c diff --git a/drivers/common/iavf/iavf_osdep.h b/drivers/net/intel/iavf/base/iavf_osdep.h similarity index 100% rename from drivers/common/iavf/iavf_osdep.h rename to drivers/net/intel/iavf/base/iavf_osdep.h diff --git a/drivers/common/iavf/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h similarity index 100% rename from drivers/common/iavf/iavf_prototype.h rename to drivers/net/intel/iavf/base/iavf_prototype.h diff --git a/drivers/common/iavf/iavf_register.h b/drivers/net/intel/iavf/base/iavf_register.h similarity index 100% rename from drivers/common/iavf/iavf_register.h rename to drivers/net/intel/iavf/base/iavf_register.h diff --git a/drivers/common/iavf/iavf_status.h b/drivers/net/intel/iavf/base/iavf_status.h similarity index 100% rename from drivers/common/iavf/iavf_status.h rename to drivers/net/intel/iavf/base/iavf_status.h diff --git a/drivers/common/iavf/iavf_type.h b/drivers/net/intel/iavf/base/iavf_type.h similarity index 100% rename from drivers/common/iavf/iavf_type.h rename to drivers/net/intel/iavf/base/iavf_type.h diff --git a/drivers/common/iavf/meson.build b/drivers/net/intel/iavf/base/meson.build similarity index 100% rename from drivers/common/iavf/meson.build rename to drivers/net/intel/iavf/base/meson.build diff --git a/drivers/common/iavf/virtchnl.h b/drivers/net/intel/iavf/base/virtchnl.h similarity index 100% rename from drivers/common/iavf/virtchnl.h rename to drivers/net/intel/iavf/base/virtchnl.h diff --git a/drivers/common/iavf/virtchnl_inline_ipsec.h b/drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h similarity index 100% rename from drivers/common/iavf/virtchnl_inline_ipsec.h rename to drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h diff --git a/drivers/net/intel/iavf/meson.build b/drivers/net/intel/iavf/meson.build index d9b605f55a..c823d618e3 100644 --- a/drivers/net/intel/iavf/meson.build +++ b/drivers/net/intel/iavf/meson.build @@ -7,9 +7,13 @@ endif testpmd_sources = files('iavf_testpmd.c') -deps += ['common_iavf', 'security', 'cryptodev'] +deps += ['security', 'cryptodev'] sources = files( + 'base/iavf_adminq.c', + 'base/iavf_common.c', + 'base/iavf_impl.c', + 'iavf_ethdev.c', 'iavf_rxtx.c', 'iavf_vchnl.c', @@ -20,8 +24,9 @@ sources = files( 'iavf_ipsec_crypto.c', 'iavf_fsub.c', ) +includes += include_directories('base') -if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') +if arch_subdir == 'x86' sources += files('iavf_rxtx_vec_sse.c') if is_windows and cc.get_id() != 'clang' @@ -30,7 +35,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') iavf_avx2_lib = static_library('iavf_avx2_lib', 'iavf_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: [cflags, '-mavx2']) objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c') @@ -43,7 +48,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') endif iavf_avx512_lib = static_library('iavf_avx512_lib', 'iavf_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: avx512_args) objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/iavf/version.map b/drivers/net/intel/iavf/version.map index 98de64cca2..d18dea64dd 100644 --- a/drivers/net/intel/iavf/version.map +++ b/drivers/net/intel/iavf/version.map @@ -17,3 +17,17 @@ EXPERIMENTAL { # added in 21.11 rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask; }; + +INTERNAL { + global: + + iavf_aq_send_msg_to_pf; + iavf_clean_arq_element; + iavf_init_adminq; + iavf_set_mac_type; + iavf_shutdown_adminq; + iavf_vf_parse_hw_config; + iavf_vf_reset; + + local: *; +}; diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index beaf21e176..5faf887386 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,7 +18,7 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'common_iavf'] +deps += ['hash', 'net', 'net_iavf'] includes += include_directories('base') if arch_subdir == 'x86' @@ -30,7 +30,7 @@ if arch_subdir == 'x86' ice_avx2_lib = static_library('ice_avx2_lib', 'ice_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: [cflags, '-mavx2']) objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') @@ -43,8 +43,7 @@ if arch_subdir == 'x86' endif ice_avx512_lib = static_library('ice_avx512_lib', 'ice_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, - static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: avx512_args) objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 52405b5b35..e4559bf861 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,7 +7,7 @@ if is_windows subdir_done() endif -includes += include_directories('../../../common/iavf') +includes += include_directories('../iavf/base') sources = files( 'idpf_common_device.c', -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 4/4] net/intel: allow building ice driver without iavf 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson ` (2 preceding siblings ...) 2025-01-28 16:36 ` [PATCH 3/4] drivers: move iavf common folder to iavf net Bruce Richardson @ 2025-01-28 16:36 ` Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson 5 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-28 16:36 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Vladimir Medvedkin, Ian Stokes, Anatoly Burakov The ice PMD relies on a number of functions from the iavf base code, which can be got by linking against that iavf driver. However, since only three C files are necessary here, we can allow ice to be built independently of iavf by including the base files directly in cases where iavf is not part of the build. If it is part of the build, the dependency remains as now. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/iavf/base/iavf_prototype.h | 8 ++++++++ drivers/net/intel/ice/meson.build | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/intel/iavf/base/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h index 7c43a817bb..5d2ee0a785 100644 --- a/drivers/net/intel/iavf/base/iavf_prototype.h +++ b/drivers/net/intel/iavf/base/iavf_prototype.h @@ -11,6 +11,14 @@ #include <rte_compat.h> +/* functions only need exporting if this is being built into + * iavf driver itself. If included in ice driver, then no export + */ +#ifndef RTE_NET_IAVF +#undef __rte_internal +#define __rte_internal +#endif + /* Prototypes for shared code functions that are not in * the standard function pointer structures. These are * mostly because they are needed even before the init diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index 5faf887386..f990e62250 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,9 +18,20 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'net_iavf'] +deps += ['hash', 'net'] includes += include_directories('base') +if dpdk_conf.has('RTE_NET_IAVF') + deps += 'net_iavf' +else + includes += include_directories('../iavf/base') + sources += files( + '../iavf/base/iavf_adminq.c', + '../iavf/base/iavf_common.c', + '../iavf/base/iavf_impl.c', + ) +endif + if arch_subdir == 'x86' sources += files('ice_rxtx_vec_sse.c') -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 0/4] remove common iavf and idpf drivers 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson ` (3 preceding siblings ...) 2025-01-28 16:36 ` [PATCH 4/4] net/intel: allow building ice driver without iavf Bruce Richardson @ 2025-01-30 12:48 ` Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 1/4] drivers: merge common and net " Bruce Richardson ` (4 more replies) 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson 5 siblings, 5 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 12:48 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson The iavf and idpf common directories were used only to share code between multiple net drivers and did not need to be drivers in their own right, since it is just as easy to have a dependency from one net driver on another as a net driver on a common one. This patchset therefore aims to eliminate the two unnecessary common drivers. It does so as follows: * merging common/idpf into net/idpf and updating the cpfl dependency to point to the net driver. * merging common/iavf into net/iavf and similarly updating the dependencies, including the paths from idpf (which does not directly depend on iavf, but does make use of the definitions in the iavf header files). Separately, two other cleanups are done - one to remove an unnecessary warning disable flag. The second is a little more complex - it makes the dependency between ice and iavf an optional one, by having ice compile in the necessary iavf shared code files in case iavf is disabled in the build. v2: include Release note updates Bruce Richardson (4): drivers: merge common and net idpf drivers net/idpf: re-enable unused variable warnings drivers: move iavf common folder to iavf net net/intel: allow building ice driver without iavf doc/guides/rel_notes/release_25_03.rst | 9 +++++ drivers/common/iavf/version.map | 13 ------- drivers/common/idpf/meson.build | 34 ------------------- drivers/common/meson.build | 2 -- drivers/net/intel/cpfl/meson.build | 2 +- .../iavf => net/intel/iavf/base}/README | 0 .../intel/iavf/base}/iavf_adminq.c | 0 .../intel/iavf/base}/iavf_adminq.h | 0 .../intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../intel/iavf/base}/iavf_common.c | 0 .../intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../intel/iavf/base}/iavf_prototype.h | 8 +++++ .../intel/iavf/base}/iavf_register.h | 0 .../intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 ++++--- drivers/net/intel/iavf/version.map | 14 ++++++++ drivers/net/intel/ice/meson.build | 18 +++++++--- .../{common => net/intel}/idpf/base/README | 0 .../intel}/idpf/base/idpf_alloc.h | 0 .../intel}/idpf/base/idpf_controlq.c | 0 .../intel}/idpf/base/idpf_controlq.h | 0 .../intel}/idpf/base/idpf_controlq_api.h | 0 .../intel}/idpf/base/idpf_controlq_setup.c | 0 .../intel}/idpf/base/idpf_devids.h | 0 .../intel}/idpf/base/idpf_lan_pf_regs.h | 0 .../intel}/idpf/base/idpf_lan_txrx.h | 0 .../intel}/idpf/base/idpf_lan_vf_regs.h | 0 .../intel}/idpf/base/idpf_osdep.h | 0 .../intel}/idpf/base/idpf_prototype.h | 0 .../intel}/idpf/base/idpf_type.h | 0 .../intel}/idpf/base/meson.build | 9 ----- .../intel}/idpf/base/siov_regs.h | 0 .../intel}/idpf/base/virtchnl2.h | 0 .../intel}/idpf/base/virtchnl2_lan_desc.h | 0 .../intel}/idpf/idpf_common_device.c | 0 .../intel}/idpf/idpf_common_device.h | 0 .../intel}/idpf/idpf_common_logs.h | 0 .../intel}/idpf/idpf_common_rxtx.c | 2 -- .../intel}/idpf/idpf_common_rxtx.h | 0 .../intel}/idpf/idpf_common_rxtx_avx512.c | 0 .../intel}/idpf/idpf_common_virtchnl.c | 4 +-- .../intel}/idpf/idpf_common_virtchnl.h | 0 drivers/net/intel/idpf/meson.build | 20 +++++++++-- .../{common => net/intel}/idpf/version.map | 0 drivers/net/meson.build | 2 +- 52 files changed, 76 insertions(+), 74 deletions(-) delete mode 100644 drivers/common/iavf/version.map delete mode 100644 drivers/common/idpf/meson.build rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (94%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) rename drivers/{common => net/intel}/idpf/base/README (100%) rename drivers/{common => net/intel}/idpf/base/idpf_alloc.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_api.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_setup.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_devids.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_pf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_txrx.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_vf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_osdep.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_prototype.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_type.h (100%) rename drivers/{common => net/intel}/idpf/base/meson.build (51%) rename drivers/{common => net/intel}/idpf/base/siov_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2_lan_desc.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_logs.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.c (99%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx_avx512.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.c (99%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.h (100%) rename drivers/{common => net/intel}/idpf/version.map (100%) -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 1/4] drivers: merge common and net idpf drivers 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson @ 2025-01-30 12:48 ` Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson ` (3 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 12:48 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Jingjing Wu, Praveen Shetty, Konstantin Ananyev Rather than having some of the idpf code split out into the "common" directory, used by both a net/idpf and a net/cpfl driver, we can merge all idpf code together under net/idpf and have the cpfl driver depend on "net/idpf" rather than "common/idpf". Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- doc/guides/rel_notes/release_25_03.rst | 6 ++++ drivers/common/idpf/meson.build | 34 ------------------- drivers/common/meson.build | 1 - drivers/net/intel/cpfl/meson.build | 2 +- .../{common => net/intel}/idpf/base/README | 0 .../intel}/idpf/base/idpf_alloc.h | 0 .../intel}/idpf/base/idpf_controlq.c | 0 .../intel}/idpf/base/idpf_controlq.h | 0 .../intel}/idpf/base/idpf_controlq_api.h | 0 .../intel}/idpf/base/idpf_controlq_setup.c | 0 .../intel}/idpf/base/idpf_devids.h | 0 .../intel}/idpf/base/idpf_lan_pf_regs.h | 0 .../intel}/idpf/base/idpf_lan_txrx.h | 0 .../intel}/idpf/base/idpf_lan_vf_regs.h | 0 .../intel}/idpf/base/idpf_osdep.h | 0 .../intel}/idpf/base/idpf_prototype.h | 0 .../intel}/idpf/base/idpf_type.h | 0 .../intel}/idpf/base/meson.build | 0 .../intel}/idpf/base/siov_regs.h | 0 .../intel}/idpf/base/virtchnl2.h | 0 .../intel}/idpf/base/virtchnl2_lan_desc.h | 0 .../intel}/idpf/idpf_common_device.c | 0 .../intel}/idpf/idpf_common_device.h | 0 .../intel}/idpf/idpf_common_logs.h | 0 .../intel}/idpf/idpf_common_rxtx.c | 0 .../intel}/idpf/idpf_common_rxtx.h | 0 .../intel}/idpf/idpf_common_rxtx_avx512.c | 0 .../intel}/idpf/idpf_common_virtchnl.c | 0 .../intel}/idpf/idpf_common_virtchnl.h | 0 drivers/net/intel/idpf/meson.build | 20 +++++++++-- .../{common => net/intel}/idpf/version.map | 0 drivers/net/meson.build | 2 +- 32 files changed, 26 insertions(+), 39 deletions(-) delete mode 100644 drivers/common/idpf/meson.build rename drivers/{common => net/intel}/idpf/base/README (100%) rename drivers/{common => net/intel}/idpf/base/idpf_alloc.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_api.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_setup.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_devids.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_pf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_txrx.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_vf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_osdep.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_prototype.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_type.h (100%) rename drivers/{common => net/intel}/idpf/base/meson.build (100%) rename drivers/{common => net/intel}/idpf/base/siov_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2_lan_desc.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_logs.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx_avx512.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.h (100%) rename drivers/{common => net/intel}/idpf/version.map (100%) diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst index a88b04d958..79b1116f6e 100644 --- a/doc/guides/rel_notes/release_25_03.rst +++ b/doc/guides/rel_notes/release_25_03.rst @@ -115,6 +115,12 @@ API Changes but to enable/disable these drivers via Meson option requires use of the new paths. For example, ``-Denable_drivers=/net/i40e`` becomes ``-Denable_drivers=/net/intel/i40e``. +* The driver ``common/idpf`` has been merged into the ``net/intel/idpf`` driver. + This change should have no impact to end applications, but, + when specifying the ``idpf`` or ``cpfl`` net drivers to meson via ``-Denable_drivers`` option, + there is no longer any need to also specify the ``common/idpf`` driver. + Note, however, ``net/intel/cpfl`` driver now depends upon the ``net/intel/idpf`` driver. + ABI Changes ----------- diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build deleted file mode 100644 index 46fd45c03b..0000000000 --- a/drivers/common/idpf/meson.build +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2022 Intel Corporation - -if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 - subdir_done() -endif - -includes += include_directories('../iavf') - -deps += ['mbuf'] - -sources = files( - 'idpf_common_device.c', - 'idpf_common_rxtx.c', - 'idpf_common_virtchnl.c', -) - -if arch_subdir == 'x86' - if cc_has_avx512 - cflags += ['-DCC_AVX512_SUPPORT'] - avx512_args = cflags + cc_avx512_flags - if cc.has_argument('-march=skylake-avx512') - avx512_args += '-march=skylake-avx512' - endif - idpf_common_avx512_lib = static_library('idpf_common_avx512_lib', - 'idpf_common_rxtx_avx512.c', - dependencies: [static_rte_mbuf,], - include_directories: includes, - c_args: avx512_args) - objs += idpf_common_avx512_lib.extract_objects('idpf_common_rxtx_avx512.c') - endif -endif - -subdir('base') diff --git a/drivers/common/meson.build b/drivers/common/meson.build index 8734af36aa..e1e3149d8f 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -6,7 +6,6 @@ drivers = [ 'cpt', 'dpaax', 'iavf', - 'idpf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/net/intel/cpfl/meson.build b/drivers/net/intel/cpfl/meson.build index 87fcfe0bb1..1f0269d50b 100644 --- a/drivers/net/intel/cpfl/meson.build +++ b/drivers/net/intel/cpfl/meson.build @@ -11,7 +11,7 @@ if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 subdir_done() endif -deps += ['hash', 'common_idpf'] +deps += ['hash', 'net_idpf'] sources = files( 'cpfl_ethdev.c', diff --git a/drivers/common/idpf/base/README b/drivers/net/intel/idpf/base/README similarity index 100% rename from drivers/common/idpf/base/README rename to drivers/net/intel/idpf/base/README diff --git a/drivers/common/idpf/base/idpf_alloc.h b/drivers/net/intel/idpf/base/idpf_alloc.h similarity index 100% rename from drivers/common/idpf/base/idpf_alloc.h rename to drivers/net/intel/idpf/base/idpf_alloc.h diff --git a/drivers/common/idpf/base/idpf_controlq.c b/drivers/net/intel/idpf/base/idpf_controlq.c similarity index 100% rename from drivers/common/idpf/base/idpf_controlq.c rename to drivers/net/intel/idpf/base/idpf_controlq.c diff --git a/drivers/common/idpf/base/idpf_controlq.h b/drivers/net/intel/idpf/base/idpf_controlq.h similarity index 100% rename from drivers/common/idpf/base/idpf_controlq.h rename to drivers/net/intel/idpf/base/idpf_controlq.h diff --git a/drivers/common/idpf/base/idpf_controlq_api.h b/drivers/net/intel/idpf/base/idpf_controlq_api.h similarity index 100% rename from drivers/common/idpf/base/idpf_controlq_api.h rename to drivers/net/intel/idpf/base/idpf_controlq_api.h diff --git a/drivers/common/idpf/base/idpf_controlq_setup.c b/drivers/net/intel/idpf/base/idpf_controlq_setup.c similarity index 100% rename from drivers/common/idpf/base/idpf_controlq_setup.c rename to drivers/net/intel/idpf/base/idpf_controlq_setup.c diff --git a/drivers/common/idpf/base/idpf_devids.h b/drivers/net/intel/idpf/base/idpf_devids.h similarity index 100% rename from drivers/common/idpf/base/idpf_devids.h rename to drivers/net/intel/idpf/base/idpf_devids.h diff --git a/drivers/common/idpf/base/idpf_lan_pf_regs.h b/drivers/net/intel/idpf/base/idpf_lan_pf_regs.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_pf_regs.h rename to drivers/net/intel/idpf/base/idpf_lan_pf_regs.h diff --git a/drivers/common/idpf/base/idpf_lan_txrx.h b/drivers/net/intel/idpf/base/idpf_lan_txrx.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_txrx.h rename to drivers/net/intel/idpf/base/idpf_lan_txrx.h diff --git a/drivers/common/idpf/base/idpf_lan_vf_regs.h b/drivers/net/intel/idpf/base/idpf_lan_vf_regs.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_vf_regs.h rename to drivers/net/intel/idpf/base/idpf_lan_vf_regs.h diff --git a/drivers/common/idpf/base/idpf_osdep.h b/drivers/net/intel/idpf/base/idpf_osdep.h similarity index 100% rename from drivers/common/idpf/base/idpf_osdep.h rename to drivers/net/intel/idpf/base/idpf_osdep.h diff --git a/drivers/common/idpf/base/idpf_prototype.h b/drivers/net/intel/idpf/base/idpf_prototype.h similarity index 100% rename from drivers/common/idpf/base/idpf_prototype.h rename to drivers/net/intel/idpf/base/idpf_prototype.h diff --git a/drivers/common/idpf/base/idpf_type.h b/drivers/net/intel/idpf/base/idpf_type.h similarity index 100% rename from drivers/common/idpf/base/idpf_type.h rename to drivers/net/intel/idpf/base/idpf_type.h diff --git a/drivers/common/idpf/base/meson.build b/drivers/net/intel/idpf/base/meson.build similarity index 100% rename from drivers/common/idpf/base/meson.build rename to drivers/net/intel/idpf/base/meson.build diff --git a/drivers/common/idpf/base/siov_regs.h b/drivers/net/intel/idpf/base/siov_regs.h similarity index 100% rename from drivers/common/idpf/base/siov_regs.h rename to drivers/net/intel/idpf/base/siov_regs.h diff --git a/drivers/common/idpf/base/virtchnl2.h b/drivers/net/intel/idpf/base/virtchnl2.h similarity index 100% rename from drivers/common/idpf/base/virtchnl2.h rename to drivers/net/intel/idpf/base/virtchnl2.h diff --git a/drivers/common/idpf/base/virtchnl2_lan_desc.h b/drivers/net/intel/idpf/base/virtchnl2_lan_desc.h similarity index 100% rename from drivers/common/idpf/base/virtchnl2_lan_desc.h rename to drivers/net/intel/idpf/base/virtchnl2_lan_desc.h diff --git a/drivers/common/idpf/idpf_common_device.c b/drivers/net/intel/idpf/idpf_common_device.c similarity index 100% rename from drivers/common/idpf/idpf_common_device.c rename to drivers/net/intel/idpf/idpf_common_device.c diff --git a/drivers/common/idpf/idpf_common_device.h b/drivers/net/intel/idpf/idpf_common_device.h similarity index 100% rename from drivers/common/idpf/idpf_common_device.h rename to drivers/net/intel/idpf/idpf_common_device.h diff --git a/drivers/common/idpf/idpf_common_logs.h b/drivers/net/intel/idpf/idpf_common_logs.h similarity index 100% rename from drivers/common/idpf/idpf_common_logs.h rename to drivers/net/intel/idpf/idpf_common_logs.h diff --git a/drivers/common/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx.c rename to drivers/net/intel/idpf/idpf_common_rxtx.c diff --git a/drivers/common/idpf/idpf_common_rxtx.h b/drivers/net/intel/idpf/idpf_common_rxtx.h similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx.h rename to drivers/net/intel/idpf/idpf_common_rxtx.h diff --git a/drivers/common/idpf/idpf_common_rxtx_avx512.c b/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx_avx512.c rename to drivers/net/intel/idpf/idpf_common_rxtx_avx512.c diff --git a/drivers/common/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c similarity index 100% rename from drivers/common/idpf/idpf_common_virtchnl.c rename to drivers/net/intel/idpf/idpf_common_virtchnl.c diff --git a/drivers/common/idpf/idpf_common_virtchnl.h b/drivers/net/intel/idpf/idpf_common_virtchnl.h similarity index 100% rename from drivers/common/idpf/idpf_common_virtchnl.h rename to drivers/net/intel/idpf/idpf_common_virtchnl.h diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 34cbdc4da0..52405b5b35 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,13 +7,29 @@ if is_windows subdir_done() endif -deps += ['common_idpf'] +includes += include_directories('../../../common/iavf') sources = files( + 'idpf_common_device.c', + 'idpf_common_rxtx.c', + 'idpf_common_virtchnl.c', + 'idpf_ethdev.c', 'idpf_rxtx.c', ) -if arch_subdir == 'x86'and cc_has_avx512 +if arch_subdir == 'x86' and cc_has_avx512 cflags += ['-DCC_AVX512_SUPPORT'] + avx512_args = cflags + cc_avx512_flags + if cc.has_argument('-march=skylake-avx512') + avx512_args += '-march=skylake-avx512' + endif + idpf_common_avx512_lib = static_library('idpf_common_avx512_lib', + 'idpf_common_rxtx_avx512.c', + dependencies: static_rte_mbuf, + include_directories: includes, + c_args: avx512_args) + objs += idpf_common_avx512_lib.extract_objects('idpf_common_rxtx_avx512.c') endif + +subdir('base') diff --git a/drivers/common/idpf/version.map b/drivers/net/intel/idpf/version.map similarity index 100% rename from drivers/common/idpf/version.map rename to drivers/net/intel/idpf/version.map diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 02a3f5a0b6..bcf6f9dc73 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,6 @@ drivers = [ 'gve', 'hinic', 'hns3', - 'intel/cpfl', 'intel/e1000', 'intel/fm10k', 'intel/i40e', @@ -34,6 +33,7 @@ drivers = [ 'intel/igc', 'intel/ipn3ke', 'intel/ixgbe', + 'intel/cpfl', # depends on idpf, so must come after it 'ionic', 'mana', 'memif', -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 2/4] net/idpf: re-enable unused variable warnings 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 1/4] drivers: merge common and net " Bruce Richardson @ 2025-01-30 12:48 ` Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 3/4] drivers: move iavf common folder to iavf net Bruce Richardson ` (2 subsequent siblings) 4 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 12:48 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Jingjing Wu, Praveen Shetty The idpf driver was being built with warnings disabled for unused variables. However, while the warning was being disabled in the base code directory, all suppressed warnings were in the main directory. Therefore, just remove the unused variables and re-enable the warnings. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/idpf/base/meson.build | 9 --------- drivers/net/intel/idpf/idpf_common_rxtx.c | 2 -- drivers/net/intel/idpf/idpf_common_virtchnl.c | 4 ++-- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/net/intel/idpf/base/meson.build b/drivers/net/intel/idpf/base/meson.build index f30ec7dfc2..7316e0a805 100644 --- a/drivers/net/intel/idpf/base/meson.build +++ b/drivers/net/intel/idpf/base/meson.build @@ -5,12 +5,3 @@ sources += files( 'idpf_controlq.c', 'idpf_controlq_setup.c', ) - -error_cflags = [ - '-Wno-unused-variable', -] -foreach flag: error_cflags - if cc.has_argument(flag) - cflags += flag - endif -endforeach diff --git a/drivers/net/intel/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c index a04e54ce26..9b17279181 100644 --- a/drivers/net/intel/idpf/idpf_common_rxtx.c +++ b/drivers/net/intel/idpf/idpf_common_rxtx.c @@ -1178,7 +1178,6 @@ idpf_dp_singleq_recv_scatter_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, struct rte_mbuf *last_seg = rxq->pkt_last_seg; struct rte_mbuf *rxm; struct rte_mbuf *nmb; - struct rte_eth_dev *dev; const uint32_t *ptype_tbl = rxq->adapter->ptype_tbl; uint16_t rx_id = rxq->rx_tail; uint16_t rx_packet_len; @@ -1310,7 +1309,6 @@ idpf_xmit_cleanup(struct idpf_tx_queue *txq) uint16_t nb_tx_desc = txq->nb_tx_desc; uint16_t desc_to_clean_to; uint16_t nb_tx_to_clean; - uint16_t i; volatile struct idpf_base_tx_desc *txd = txq->tx_ring; diff --git a/drivers/net/intel/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c index de511da788..0ae1d55d79 100644 --- a/drivers/net/intel/idpf/idpf_common_virtchnl.c +++ b/drivers/net/intel/idpf/idpf_common_virtchnl.c @@ -362,7 +362,7 @@ idpf_vc_queue_grps_add(struct idpf_vport *vport, { struct idpf_adapter *adapter = vport->adapter; struct idpf_cmd_info args; - int size, qg_info_size; + int size; int err = -1; size = sizeof(*p2p_queue_grps_info) + @@ -1044,7 +1044,7 @@ int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_in struct idpf_adapter *adapter = vport->adapter; struct virtchnl2_config_rx_queues *vc_rxqs = NULL; struct idpf_cmd_info args; - int size, err, i; + int size, err; size = sizeof(*vc_rxqs) + (num_qs - 1) * sizeof(struct virtchnl2_rxq_info); -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 3/4] drivers: move iavf common folder to iavf net 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 1/4] drivers: merge common and net " Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson @ 2025-01-30 12:48 ` Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 4/4] net/intel: allow building ice driver without iavf Bruce Richardson 2025-01-30 13:55 ` [PATCH v2 0/4] remove common iavf and idpf drivers David Marchand 4 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 12:48 UTC (permalink / raw) To: dev Cc: Bruce Richardson, Vladimir Medvedkin, Ian Stokes, Anatoly Burakov, Jingjing Wu, Praveen Shetty The common/iavf driver folder contains the base code for the iavf driver, which is also linked against by the ice driver and others. However, there is no need for this to be in common, and we can move it to the net/intel/iavf as a base code driver. This involves updating dependencies that were on common/iavf to net/iavf Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- doc/guides/rel_notes/release_25_03.rst | 5 ++++- drivers/common/iavf/version.map | 13 ------------- drivers/common/meson.build | 1 - .../{common/iavf => net/intel/iavf/base}/README | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.c | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.h | 0 .../iavf => net/intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../iavf => net/intel/iavf/base}/iavf_common.c | 0 .../iavf => net/intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../iavf => net/intel/iavf/base}/iavf_prototype.h | 0 .../iavf => net/intel/iavf/base}/iavf_register.h | 0 .../iavf => net/intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 +++++++++---- drivers/net/intel/iavf/version.map | 14 ++++++++++++++ drivers/net/intel/ice/meson.build | 7 +++---- drivers/net/intel/idpf/meson.build | 2 +- 23 files changed, 31 insertions(+), 24 deletions(-) delete mode 100644 drivers/common/iavf/version.map rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst index 79b1116f6e..1f22efa79f 100644 --- a/doc/guides/rel_notes/release_25_03.rst +++ b/doc/guides/rel_notes/release_25_03.rst @@ -116,9 +116,12 @@ API Changes For example, ``-Denable_drivers=/net/i40e`` becomes ``-Denable_drivers=/net/intel/i40e``. * The driver ``common/idpf`` has been merged into the ``net/intel/idpf`` driver. - This change should have no impact to end applications, but, + Similarly, the ``common/iavf`` driver has been merged into the ``net/intel/iavf`` driver. + These changes should have no impact to end applications, but, when specifying the ``idpf`` or ``cpfl`` net drivers to meson via ``-Denable_drivers`` option, there is no longer any need to also specify the ``common/idpf`` driver. + In the same way, when specifying the ``iavf`` or ``ice`` net drivers, + there is no need to also specify the ``common/iavf`` driver. Note, however, ``net/intel/cpfl`` driver now depends upon the ``net/intel/idpf`` driver. diff --git a/drivers/common/iavf/version.map b/drivers/common/iavf/version.map deleted file mode 100644 index 6c1427cca4..0000000000 --- a/drivers/common/iavf/version.map +++ /dev/null @@ -1,13 +0,0 @@ -INTERNAL { - global: - - iavf_aq_send_msg_to_pf; - iavf_clean_arq_element; - iavf_init_adminq; - iavf_set_mac_type; - iavf_shutdown_adminq; - iavf_vf_parse_hw_config; - iavf_vf_reset; - - local: *; -}; diff --git a/drivers/common/meson.build b/drivers/common/meson.build index e1e3149d8f..dc096aab0a 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -5,7 +5,6 @@ std_deps = ['eal'] drivers = [ 'cpt', 'dpaax', - 'iavf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/common/iavf/README b/drivers/net/intel/iavf/base/README similarity index 100% rename from drivers/common/iavf/README rename to drivers/net/intel/iavf/base/README diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/net/intel/iavf/base/iavf_adminq.c similarity index 100% rename from drivers/common/iavf/iavf_adminq.c rename to drivers/net/intel/iavf/base/iavf_adminq.c diff --git a/drivers/common/iavf/iavf_adminq.h b/drivers/net/intel/iavf/base/iavf_adminq.h similarity index 100% rename from drivers/common/iavf/iavf_adminq.h rename to drivers/net/intel/iavf/base/iavf_adminq.h diff --git a/drivers/common/iavf/iavf_adminq_cmd.h b/drivers/net/intel/iavf/base/iavf_adminq_cmd.h similarity index 100% rename from drivers/common/iavf/iavf_adminq_cmd.h rename to drivers/net/intel/iavf/base/iavf_adminq_cmd.h diff --git a/drivers/common/iavf/iavf_alloc.h b/drivers/net/intel/iavf/base/iavf_alloc.h similarity index 100% rename from drivers/common/iavf/iavf_alloc.h rename to drivers/net/intel/iavf/base/iavf_alloc.h diff --git a/drivers/common/iavf/iavf_common.c b/drivers/net/intel/iavf/base/iavf_common.c similarity index 100% rename from drivers/common/iavf/iavf_common.c rename to drivers/net/intel/iavf/base/iavf_common.c diff --git a/drivers/common/iavf/iavf_devids.h b/drivers/net/intel/iavf/base/iavf_devids.h similarity index 100% rename from drivers/common/iavf/iavf_devids.h rename to drivers/net/intel/iavf/base/iavf_devids.h diff --git a/drivers/common/iavf/iavf_impl.c b/drivers/net/intel/iavf/base/iavf_impl.c similarity index 100% rename from drivers/common/iavf/iavf_impl.c rename to drivers/net/intel/iavf/base/iavf_impl.c diff --git a/drivers/common/iavf/iavf_osdep.h b/drivers/net/intel/iavf/base/iavf_osdep.h similarity index 100% rename from drivers/common/iavf/iavf_osdep.h rename to drivers/net/intel/iavf/base/iavf_osdep.h diff --git a/drivers/common/iavf/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h similarity index 100% rename from drivers/common/iavf/iavf_prototype.h rename to drivers/net/intel/iavf/base/iavf_prototype.h diff --git a/drivers/common/iavf/iavf_register.h b/drivers/net/intel/iavf/base/iavf_register.h similarity index 100% rename from drivers/common/iavf/iavf_register.h rename to drivers/net/intel/iavf/base/iavf_register.h diff --git a/drivers/common/iavf/iavf_status.h b/drivers/net/intel/iavf/base/iavf_status.h similarity index 100% rename from drivers/common/iavf/iavf_status.h rename to drivers/net/intel/iavf/base/iavf_status.h diff --git a/drivers/common/iavf/iavf_type.h b/drivers/net/intel/iavf/base/iavf_type.h similarity index 100% rename from drivers/common/iavf/iavf_type.h rename to drivers/net/intel/iavf/base/iavf_type.h diff --git a/drivers/common/iavf/meson.build b/drivers/net/intel/iavf/base/meson.build similarity index 100% rename from drivers/common/iavf/meson.build rename to drivers/net/intel/iavf/base/meson.build diff --git a/drivers/common/iavf/virtchnl.h b/drivers/net/intel/iavf/base/virtchnl.h similarity index 100% rename from drivers/common/iavf/virtchnl.h rename to drivers/net/intel/iavf/base/virtchnl.h diff --git a/drivers/common/iavf/virtchnl_inline_ipsec.h b/drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h similarity index 100% rename from drivers/common/iavf/virtchnl_inline_ipsec.h rename to drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h diff --git a/drivers/net/intel/iavf/meson.build b/drivers/net/intel/iavf/meson.build index d9b605f55a..c823d618e3 100644 --- a/drivers/net/intel/iavf/meson.build +++ b/drivers/net/intel/iavf/meson.build @@ -7,9 +7,13 @@ endif testpmd_sources = files('iavf_testpmd.c') -deps += ['common_iavf', 'security', 'cryptodev'] +deps += ['security', 'cryptodev'] sources = files( + 'base/iavf_adminq.c', + 'base/iavf_common.c', + 'base/iavf_impl.c', + 'iavf_ethdev.c', 'iavf_rxtx.c', 'iavf_vchnl.c', @@ -20,8 +24,9 @@ sources = files( 'iavf_ipsec_crypto.c', 'iavf_fsub.c', ) +includes += include_directories('base') -if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') +if arch_subdir == 'x86' sources += files('iavf_rxtx_vec_sse.c') if is_windows and cc.get_id() != 'clang' @@ -30,7 +35,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') iavf_avx2_lib = static_library('iavf_avx2_lib', 'iavf_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: [cflags, '-mavx2']) objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c') @@ -43,7 +48,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') endif iavf_avx512_lib = static_library('iavf_avx512_lib', 'iavf_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: avx512_args) objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/iavf/version.map b/drivers/net/intel/iavf/version.map index 98de64cca2..d18dea64dd 100644 --- a/drivers/net/intel/iavf/version.map +++ b/drivers/net/intel/iavf/version.map @@ -17,3 +17,17 @@ EXPERIMENTAL { # added in 21.11 rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask; }; + +INTERNAL { + global: + + iavf_aq_send_msg_to_pf; + iavf_clean_arq_element; + iavf_init_adminq; + iavf_set_mac_type; + iavf_shutdown_adminq; + iavf_vf_parse_hw_config; + iavf_vf_reset; + + local: *; +}; diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index beaf21e176..5faf887386 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,7 +18,7 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'common_iavf'] +deps += ['hash', 'net', 'net_iavf'] includes += include_directories('base') if arch_subdir == 'x86' @@ -30,7 +30,7 @@ if arch_subdir == 'x86' ice_avx2_lib = static_library('ice_avx2_lib', 'ice_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: [cflags, '-mavx2']) objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') @@ -43,8 +43,7 @@ if arch_subdir == 'x86' endif ice_avx512_lib = static_library('ice_avx512_lib', 'ice_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, - static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: avx512_args) objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 52405b5b35..e4559bf861 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,7 +7,7 @@ if is_windows subdir_done() endif -includes += include_directories('../../../common/iavf') +includes += include_directories('../iavf/base') sources = files( 'idpf_common_device.c', -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 4/4] net/intel: allow building ice driver without iavf 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson ` (2 preceding siblings ...) 2025-01-30 12:48 ` [PATCH v2 3/4] drivers: move iavf common folder to iavf net Bruce Richardson @ 2025-01-30 12:48 ` Bruce Richardson 2025-01-30 13:55 ` [PATCH v2 0/4] remove common iavf and idpf drivers David Marchand 4 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 12:48 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Vladimir Medvedkin, Ian Stokes, Anatoly Burakov The ice PMD relies on a number of functions from the iavf base code, which can be got by linking against that iavf driver. However, since only three C files are necessary here, we can allow ice to be built independently of iavf by including the base files directly in cases where iavf is not part of the build. If it is part of the build, the dependency remains as now. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/iavf/base/iavf_prototype.h | 8 ++++++++ drivers/net/intel/ice/meson.build | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/intel/iavf/base/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h index 7c43a817bb..5d2ee0a785 100644 --- a/drivers/net/intel/iavf/base/iavf_prototype.h +++ b/drivers/net/intel/iavf/base/iavf_prototype.h @@ -11,6 +11,14 @@ #include <rte_compat.h> +/* functions only need exporting if this is being built into + * iavf driver itself. If included in ice driver, then no export + */ +#ifndef RTE_NET_IAVF +#undef __rte_internal +#define __rte_internal +#endif + /* Prototypes for shared code functions that are not in * the standard function pointer structures. These are * mostly because they are needed even before the init diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index 5faf887386..f990e62250 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,9 +18,20 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'net_iavf'] +deps += ['hash', 'net'] includes += include_directories('base') +if dpdk_conf.has('RTE_NET_IAVF') + deps += 'net_iavf' +else + includes += include_directories('../iavf/base') + sources += files( + '../iavf/base/iavf_adminq.c', + '../iavf/base/iavf_common.c', + '../iavf/base/iavf_impl.c', + ) +endif + if arch_subdir == 'x86' sources += files('ice_rxtx_vec_sse.c') -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 0/4] remove common iavf and idpf drivers 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson ` (3 preceding siblings ...) 2025-01-30 12:48 ` [PATCH v2 4/4] net/intel: allow building ice driver without iavf Bruce Richardson @ 2025-01-30 13:55 ` David Marchand 2025-01-30 14:28 ` Bruce Richardson 4 siblings, 1 reply; 17+ messages in thread From: David Marchand @ 2025-01-30 13:55 UTC (permalink / raw) To: Bruce Richardson; +Cc: dev Hello Bruce, On Thu, Jan 30, 2025 at 1:48 PM Bruce Richardson <bruce.richardson@intel.com> wrote: > > The iavf and idpf common directories were used only to share code > between multiple net drivers and did not need to be drivers in their own > right, since it is just as easy to have a dependency from one net driver > on another as a net driver on a common one. > > This patchset therefore aims to eliminate the two unnecessary common > drivers. It does so as follows: > > * merging common/idpf into net/idpf and updating the cpfl dependency to > point to the net driver. > * merging common/iavf into net/iavf and similarly updating the > dependencies, including the paths from idpf (which does not directly > depend on iavf, but does make use of the definitions in the iavf > header files). > > Separately, two other cleanups are done - one to remove an unnecessary > warning disable flag. The second is a little more complex - it makes the > dependency between ice and iavf an optional one, by having ice compile > in the necessary iavf shared code files in case iavf is disabled in the > build. > > > v2: include Release note updates > > Bruce Richardson (4): > drivers: merge common and net idpf drivers > net/idpf: re-enable unused variable warnings > drivers: move iavf common folder to iavf net > net/intel: allow building ice driver without iavf You'll probably need something like: $ git show --oneline 9863a695075109f15bbfa2f1a3042139f25d6493 -- devtools/libabigail.abignore 9863a69507 net/liquidio: remove LiquidIO ethdev driver diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index 585eb23c5e..03bfbce259 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -25,6 +25,7 @@ ; ; SKIP_LIBRARY=librte_common_mlx5_glue ; SKIP_LIBRARY=librte_net_mlx4_glue +; SKIP_LIBRARY=librte_net_liquidio ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Experimental APIs exceptions ; -- David Marchand ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 0/4] remove common iavf and idpf drivers 2025-01-30 13:55 ` [PATCH v2 0/4] remove common iavf and idpf drivers David Marchand @ 2025-01-30 14:28 ` Bruce Richardson 0 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 14:28 UTC (permalink / raw) To: David Marchand; +Cc: dev On Thu, Jan 30, 2025 at 02:55:54PM +0100, David Marchand wrote: > Hello Bruce, > > On Thu, Jan 30, 2025 at 1:48 PM Bruce Richardson > <bruce.richardson@intel.com> wrote: > > > > The iavf and idpf common directories were used only to share code > > between multiple net drivers and did not need to be drivers in their own > > right, since it is just as easy to have a dependency from one net driver > > on another as a net driver on a common one. > > > > This patchset therefore aims to eliminate the two unnecessary common > > drivers. It does so as follows: > > > > * merging common/idpf into net/idpf and updating the cpfl dependency to > > point to the net driver. > > * merging common/iavf into net/iavf and similarly updating the > > dependencies, including the paths from idpf (which does not directly > > depend on iavf, but does make use of the definitions in the iavf > > header files). > > > > Separately, two other cleanups are done - one to remove an unnecessary > > warning disable flag. The second is a little more complex - it makes the > > dependency between ice and iavf an optional one, by having ice compile > > in the necessary iavf shared code files in case iavf is disabled in the > > build. > > > > > > v2: include Release note updates > > > > Bruce Richardson (4): > > drivers: merge common and net idpf drivers > > net/idpf: re-enable unused variable warnings > > drivers: move iavf common folder to iavf net > > net/intel: allow building ice driver without iavf > > You'll probably need something like: > > $ git show --oneline 9863a695075109f15bbfa2f1a3042139f25d6493 -- > devtools/libabigail.abignore > 9863a69507 net/liquidio: remove LiquidIO ethdev driver > diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore > index 585eb23c5e..03bfbce259 100644 > --- a/devtools/libabigail.abignore > +++ b/devtools/libabigail.abignore > @@ -25,6 +25,7 @@ > ; > ; SKIP_LIBRARY=librte_common_mlx5_glue > ; SKIP_LIBRARY=librte_net_mlx4_glue > +; SKIP_LIBRARY=librte_net_liquidio > Yes, I see the libabigail errors in the CI now. V3 coming up... /Bruce ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 0/4] remove common iavf and idpf drivers 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson ` (4 preceding siblings ...) 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson @ 2025-01-30 15:12 ` Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 1/4] drivers: merge common and net " Bruce Richardson ` (3 more replies) 5 siblings, 4 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 15:12 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson The iavf and idpf common directories were used only to share code between multiple net drivers and did not need to be drivers in their own right, since it is just as easy to have a dependency from one net driver on another as a net driver on a common one. This patchset therefore aims to eliminate the two unnecessary common drivers. It does so as follows: * merging common/idpf into net/idpf and updating the cpfl dependency to point to the net driver. * merging common/iavf into net/iavf and similarly updating the dependencies, including the paths from idpf (which does not directly depend on iavf, but does make use of the definitions in the iavf header files). Separately, two other cleanups are done - one to remove an unnecessary warning disable flag. The second is a little more complex - it makes the dependency between ice and iavf an optional one, by having ice compile in the necessary iavf shared code files in case iavf is disabled in the build. v3: add libabigail exclusions for removed libs v2: include Release note updates Bruce Richardson (4): drivers: merge common and net idpf drivers net/idpf: re-enable unused variable warnings drivers: move iavf common folder to iavf net net/intel: allow building ice driver without iavf devtools/libabigail.abignore | 2 ++ doc/guides/rel_notes/release_25_03.rst | 9 +++++ drivers/common/iavf/version.map | 13 ------- drivers/common/idpf/meson.build | 34 ------------------- drivers/common/meson.build | 2 -- drivers/net/intel/cpfl/meson.build | 2 +- .../iavf => net/intel/iavf/base}/README | 0 .../intel/iavf/base}/iavf_adminq.c | 0 .../intel/iavf/base}/iavf_adminq.h | 0 .../intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../intel/iavf/base}/iavf_common.c | 0 .../intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../intel/iavf/base}/iavf_prototype.h | 8 +++++ .../intel/iavf/base}/iavf_register.h | 0 .../intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 ++++--- drivers/net/intel/iavf/version.map | 14 ++++++++ drivers/net/intel/ice/meson.build | 18 +++++++--- .../{common => net/intel}/idpf/base/README | 0 .../intel}/idpf/base/idpf_alloc.h | 0 .../intel}/idpf/base/idpf_controlq.c | 0 .../intel}/idpf/base/idpf_controlq.h | 0 .../intel}/idpf/base/idpf_controlq_api.h | 0 .../intel}/idpf/base/idpf_controlq_setup.c | 0 .../intel}/idpf/base/idpf_devids.h | 0 .../intel}/idpf/base/idpf_lan_pf_regs.h | 0 .../intel}/idpf/base/idpf_lan_txrx.h | 0 .../intel}/idpf/base/idpf_lan_vf_regs.h | 0 .../intel}/idpf/base/idpf_osdep.h | 0 .../intel}/idpf/base/idpf_prototype.h | 0 .../intel}/idpf/base/idpf_type.h | 0 .../intel}/idpf/base/meson.build | 9 ----- .../intel}/idpf/base/siov_regs.h | 0 .../intel}/idpf/base/virtchnl2.h | 0 .../intel}/idpf/base/virtchnl2_lan_desc.h | 0 .../intel}/idpf/idpf_common_device.c | 0 .../intel}/idpf/idpf_common_device.h | 0 .../intel}/idpf/idpf_common_logs.h | 0 .../intel}/idpf/idpf_common_rxtx.c | 2 -- .../intel}/idpf/idpf_common_rxtx.h | 0 .../intel}/idpf/idpf_common_rxtx_avx512.c | 0 .../intel}/idpf/idpf_common_virtchnl.c | 4 +-- .../intel}/idpf/idpf_common_virtchnl.h | 0 drivers/net/intel/idpf/meson.build | 20 +++++++++-- .../{common => net/intel}/idpf/version.map | 0 drivers/net/meson.build | 2 +- 53 files changed, 78 insertions(+), 74 deletions(-) delete mode 100644 drivers/common/iavf/version.map delete mode 100644 drivers/common/idpf/meson.build rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (94%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) rename drivers/{common => net/intel}/idpf/base/README (100%) rename drivers/{common => net/intel}/idpf/base/idpf_alloc.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_api.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_setup.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_devids.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_pf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_txrx.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_vf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_osdep.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_prototype.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_type.h (100%) rename drivers/{common => net/intel}/idpf/base/meson.build (51%) rename drivers/{common => net/intel}/idpf/base/siov_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2_lan_desc.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_logs.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.c (99%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx_avx512.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.c (99%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.h (100%) rename drivers/{common => net/intel}/idpf/version.map (100%) -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 1/4] drivers: merge common and net idpf drivers 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson @ 2025-01-30 15:12 ` Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson ` (2 subsequent siblings) 3 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 15:12 UTC (permalink / raw) To: dev Cc: Bruce Richardson, Thomas Monjalon, Jingjing Wu, Praveen Shetty, Konstantin Ananyev Rather than having some of the idpf code split out into the "common" directory, used by both a net/idpf and a net/cpfl driver, we can merge all idpf code together under net/idpf and have the cpfl driver depend on "net/idpf" rather than "common/idpf". Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- devtools/libabigail.abignore | 1 + doc/guides/rel_notes/release_25_03.rst | 6 ++++ drivers/common/idpf/meson.build | 34 ------------------- drivers/common/meson.build | 1 - drivers/net/intel/cpfl/meson.build | 2 +- .../{common => net/intel}/idpf/base/README | 0 .../intel}/idpf/base/idpf_alloc.h | 0 .../intel}/idpf/base/idpf_controlq.c | 0 .../intel}/idpf/base/idpf_controlq.h | 0 .../intel}/idpf/base/idpf_controlq_api.h | 0 .../intel}/idpf/base/idpf_controlq_setup.c | 0 .../intel}/idpf/base/idpf_devids.h | 0 .../intel}/idpf/base/idpf_lan_pf_regs.h | 0 .../intel}/idpf/base/idpf_lan_txrx.h | 0 .../intel}/idpf/base/idpf_lan_vf_regs.h | 0 .../intel}/idpf/base/idpf_osdep.h | 0 .../intel}/idpf/base/idpf_prototype.h | 0 .../intel}/idpf/base/idpf_type.h | 0 .../intel}/idpf/base/meson.build | 0 .../intel}/idpf/base/siov_regs.h | 0 .../intel}/idpf/base/virtchnl2.h | 0 .../intel}/idpf/base/virtchnl2_lan_desc.h | 0 .../intel}/idpf/idpf_common_device.c | 0 .../intel}/idpf/idpf_common_device.h | 0 .../intel}/idpf/idpf_common_logs.h | 0 .../intel}/idpf/idpf_common_rxtx.c | 0 .../intel}/idpf/idpf_common_rxtx.h | 0 .../intel}/idpf/idpf_common_rxtx_avx512.c | 0 .../intel}/idpf/idpf_common_virtchnl.c | 0 .../intel}/idpf/idpf_common_virtchnl.h | 0 drivers/net/intel/idpf/meson.build | 20 +++++++++-- .../{common => net/intel}/idpf/version.map | 0 drivers/net/meson.build | 2 +- 33 files changed, 27 insertions(+), 39 deletions(-) delete mode 100644 drivers/common/idpf/meson.build rename drivers/{common => net/intel}/idpf/base/README (100%) rename drivers/{common => net/intel}/idpf/base/idpf_alloc.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_api.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_controlq_setup.c (100%) rename drivers/{common => net/intel}/idpf/base/idpf_devids.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_pf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_txrx.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_lan_vf_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_osdep.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_prototype.h (100%) rename drivers/{common => net/intel}/idpf/base/idpf_type.h (100%) rename drivers/{common => net/intel}/idpf/base/meson.build (100%) rename drivers/{common => net/intel}/idpf/base/siov_regs.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2.h (100%) rename drivers/{common => net/intel}/idpf/base/virtchnl2_lan_desc.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_device.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_logs.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx.h (100%) rename drivers/{common => net/intel}/idpf/idpf_common_rxtx_avx512.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.c (100%) rename drivers/{common => net/intel}/idpf/idpf_common_virtchnl.h (100%) rename drivers/{common => net/intel}/idpf/version.map (100%) diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index 21b8cd6113..1dee6a954f 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -25,6 +25,7 @@ ; ; SKIP_LIBRARY=librte_common_mlx5_glue ; SKIP_LIBRARY=librte_net_mlx4_glue +; SKIP_LIBRARY=librte_common_idpf ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Experimental APIs exceptions ; diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst index a88b04d958..79b1116f6e 100644 --- a/doc/guides/rel_notes/release_25_03.rst +++ b/doc/guides/rel_notes/release_25_03.rst @@ -115,6 +115,12 @@ API Changes but to enable/disable these drivers via Meson option requires use of the new paths. For example, ``-Denable_drivers=/net/i40e`` becomes ``-Denable_drivers=/net/intel/i40e``. +* The driver ``common/idpf`` has been merged into the ``net/intel/idpf`` driver. + This change should have no impact to end applications, but, + when specifying the ``idpf`` or ``cpfl`` net drivers to meson via ``-Denable_drivers`` option, + there is no longer any need to also specify the ``common/idpf`` driver. + Note, however, ``net/intel/cpfl`` driver now depends upon the ``net/intel/idpf`` driver. + ABI Changes ----------- diff --git a/drivers/common/idpf/meson.build b/drivers/common/idpf/meson.build deleted file mode 100644 index 46fd45c03b..0000000000 --- a/drivers/common/idpf/meson.build +++ /dev/null @@ -1,34 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright(c) 2022 Intel Corporation - -if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 - subdir_done() -endif - -includes += include_directories('../iavf') - -deps += ['mbuf'] - -sources = files( - 'idpf_common_device.c', - 'idpf_common_rxtx.c', - 'idpf_common_virtchnl.c', -) - -if arch_subdir == 'x86' - if cc_has_avx512 - cflags += ['-DCC_AVX512_SUPPORT'] - avx512_args = cflags + cc_avx512_flags - if cc.has_argument('-march=skylake-avx512') - avx512_args += '-march=skylake-avx512' - endif - idpf_common_avx512_lib = static_library('idpf_common_avx512_lib', - 'idpf_common_rxtx_avx512.c', - dependencies: [static_rte_mbuf,], - include_directories: includes, - c_args: avx512_args) - objs += idpf_common_avx512_lib.extract_objects('idpf_common_rxtx_avx512.c') - endif -endif - -subdir('base') diff --git a/drivers/common/meson.build b/drivers/common/meson.build index 8734af36aa..e1e3149d8f 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -6,7 +6,6 @@ drivers = [ 'cpt', 'dpaax', 'iavf', - 'idpf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/net/intel/cpfl/meson.build b/drivers/net/intel/cpfl/meson.build index 87fcfe0bb1..1f0269d50b 100644 --- a/drivers/net/intel/cpfl/meson.build +++ b/drivers/net/intel/cpfl/meson.build @@ -11,7 +11,7 @@ if dpdk_conf.get('RTE_IOVA_IN_MBUF') == 0 subdir_done() endif -deps += ['hash', 'common_idpf'] +deps += ['hash', 'net_idpf'] sources = files( 'cpfl_ethdev.c', diff --git a/drivers/common/idpf/base/README b/drivers/net/intel/idpf/base/README similarity index 100% rename from drivers/common/idpf/base/README rename to drivers/net/intel/idpf/base/README diff --git a/drivers/common/idpf/base/idpf_alloc.h b/drivers/net/intel/idpf/base/idpf_alloc.h similarity index 100% rename from drivers/common/idpf/base/idpf_alloc.h rename to drivers/net/intel/idpf/base/idpf_alloc.h diff --git a/drivers/common/idpf/base/idpf_controlq.c b/drivers/net/intel/idpf/base/idpf_controlq.c similarity index 100% rename from drivers/common/idpf/base/idpf_controlq.c rename to drivers/net/intel/idpf/base/idpf_controlq.c diff --git a/drivers/common/idpf/base/idpf_controlq.h b/drivers/net/intel/idpf/base/idpf_controlq.h similarity index 100% rename from drivers/common/idpf/base/idpf_controlq.h rename to drivers/net/intel/idpf/base/idpf_controlq.h diff --git a/drivers/common/idpf/base/idpf_controlq_api.h b/drivers/net/intel/idpf/base/idpf_controlq_api.h similarity index 100% rename from drivers/common/idpf/base/idpf_controlq_api.h rename to drivers/net/intel/idpf/base/idpf_controlq_api.h diff --git a/drivers/common/idpf/base/idpf_controlq_setup.c b/drivers/net/intel/idpf/base/idpf_controlq_setup.c similarity index 100% rename from drivers/common/idpf/base/idpf_controlq_setup.c rename to drivers/net/intel/idpf/base/idpf_controlq_setup.c diff --git a/drivers/common/idpf/base/idpf_devids.h b/drivers/net/intel/idpf/base/idpf_devids.h similarity index 100% rename from drivers/common/idpf/base/idpf_devids.h rename to drivers/net/intel/idpf/base/idpf_devids.h diff --git a/drivers/common/idpf/base/idpf_lan_pf_regs.h b/drivers/net/intel/idpf/base/idpf_lan_pf_regs.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_pf_regs.h rename to drivers/net/intel/idpf/base/idpf_lan_pf_regs.h diff --git a/drivers/common/idpf/base/idpf_lan_txrx.h b/drivers/net/intel/idpf/base/idpf_lan_txrx.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_txrx.h rename to drivers/net/intel/idpf/base/idpf_lan_txrx.h diff --git a/drivers/common/idpf/base/idpf_lan_vf_regs.h b/drivers/net/intel/idpf/base/idpf_lan_vf_regs.h similarity index 100% rename from drivers/common/idpf/base/idpf_lan_vf_regs.h rename to drivers/net/intel/idpf/base/idpf_lan_vf_regs.h diff --git a/drivers/common/idpf/base/idpf_osdep.h b/drivers/net/intel/idpf/base/idpf_osdep.h similarity index 100% rename from drivers/common/idpf/base/idpf_osdep.h rename to drivers/net/intel/idpf/base/idpf_osdep.h diff --git a/drivers/common/idpf/base/idpf_prototype.h b/drivers/net/intel/idpf/base/idpf_prototype.h similarity index 100% rename from drivers/common/idpf/base/idpf_prototype.h rename to drivers/net/intel/idpf/base/idpf_prototype.h diff --git a/drivers/common/idpf/base/idpf_type.h b/drivers/net/intel/idpf/base/idpf_type.h similarity index 100% rename from drivers/common/idpf/base/idpf_type.h rename to drivers/net/intel/idpf/base/idpf_type.h diff --git a/drivers/common/idpf/base/meson.build b/drivers/net/intel/idpf/base/meson.build similarity index 100% rename from drivers/common/idpf/base/meson.build rename to drivers/net/intel/idpf/base/meson.build diff --git a/drivers/common/idpf/base/siov_regs.h b/drivers/net/intel/idpf/base/siov_regs.h similarity index 100% rename from drivers/common/idpf/base/siov_regs.h rename to drivers/net/intel/idpf/base/siov_regs.h diff --git a/drivers/common/idpf/base/virtchnl2.h b/drivers/net/intel/idpf/base/virtchnl2.h similarity index 100% rename from drivers/common/idpf/base/virtchnl2.h rename to drivers/net/intel/idpf/base/virtchnl2.h diff --git a/drivers/common/idpf/base/virtchnl2_lan_desc.h b/drivers/net/intel/idpf/base/virtchnl2_lan_desc.h similarity index 100% rename from drivers/common/idpf/base/virtchnl2_lan_desc.h rename to drivers/net/intel/idpf/base/virtchnl2_lan_desc.h diff --git a/drivers/common/idpf/idpf_common_device.c b/drivers/net/intel/idpf/idpf_common_device.c similarity index 100% rename from drivers/common/idpf/idpf_common_device.c rename to drivers/net/intel/idpf/idpf_common_device.c diff --git a/drivers/common/idpf/idpf_common_device.h b/drivers/net/intel/idpf/idpf_common_device.h similarity index 100% rename from drivers/common/idpf/idpf_common_device.h rename to drivers/net/intel/idpf/idpf_common_device.h diff --git a/drivers/common/idpf/idpf_common_logs.h b/drivers/net/intel/idpf/idpf_common_logs.h similarity index 100% rename from drivers/common/idpf/idpf_common_logs.h rename to drivers/net/intel/idpf/idpf_common_logs.h diff --git a/drivers/common/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx.c rename to drivers/net/intel/idpf/idpf_common_rxtx.c diff --git a/drivers/common/idpf/idpf_common_rxtx.h b/drivers/net/intel/idpf/idpf_common_rxtx.h similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx.h rename to drivers/net/intel/idpf/idpf_common_rxtx.h diff --git a/drivers/common/idpf/idpf_common_rxtx_avx512.c b/drivers/net/intel/idpf/idpf_common_rxtx_avx512.c similarity index 100% rename from drivers/common/idpf/idpf_common_rxtx_avx512.c rename to drivers/net/intel/idpf/idpf_common_rxtx_avx512.c diff --git a/drivers/common/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c similarity index 100% rename from drivers/common/idpf/idpf_common_virtchnl.c rename to drivers/net/intel/idpf/idpf_common_virtchnl.c diff --git a/drivers/common/idpf/idpf_common_virtchnl.h b/drivers/net/intel/idpf/idpf_common_virtchnl.h similarity index 100% rename from drivers/common/idpf/idpf_common_virtchnl.h rename to drivers/net/intel/idpf/idpf_common_virtchnl.h diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 34cbdc4da0..52405b5b35 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,13 +7,29 @@ if is_windows subdir_done() endif -deps += ['common_idpf'] +includes += include_directories('../../../common/iavf') sources = files( + 'idpf_common_device.c', + 'idpf_common_rxtx.c', + 'idpf_common_virtchnl.c', + 'idpf_ethdev.c', 'idpf_rxtx.c', ) -if arch_subdir == 'x86'and cc_has_avx512 +if arch_subdir == 'x86' and cc_has_avx512 cflags += ['-DCC_AVX512_SUPPORT'] + avx512_args = cflags + cc_avx512_flags + if cc.has_argument('-march=skylake-avx512') + avx512_args += '-march=skylake-avx512' + endif + idpf_common_avx512_lib = static_library('idpf_common_avx512_lib', + 'idpf_common_rxtx_avx512.c', + dependencies: static_rte_mbuf, + include_directories: includes, + c_args: avx512_args) + objs += idpf_common_avx512_lib.extract_objects('idpf_common_rxtx_avx512.c') endif + +subdir('base') diff --git a/drivers/common/idpf/version.map b/drivers/net/intel/idpf/version.map similarity index 100% rename from drivers/common/idpf/version.map rename to drivers/net/intel/idpf/version.map diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 02a3f5a0b6..bcf6f9dc73 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,6 @@ drivers = [ 'gve', 'hinic', 'hns3', - 'intel/cpfl', 'intel/e1000', 'intel/fm10k', 'intel/i40e', @@ -34,6 +33,7 @@ drivers = [ 'intel/igc', 'intel/ipn3ke', 'intel/ixgbe', + 'intel/cpfl', # depends on idpf, so must come after it 'ionic', 'mana', 'memif', -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 2/4] net/idpf: re-enable unused variable warnings 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 1/4] drivers: merge common and net " Bruce Richardson @ 2025-01-30 15:12 ` Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 3/4] drivers: move iavf common folder to iavf net Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 4/4] net/intel: allow building ice driver without iavf Bruce Richardson 3 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 15:12 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Jingjing Wu, Praveen Shetty The idpf driver was being built with warnings disabled for unused variables. However, while the warning was being disabled in the base code directory, all suppressed warnings were in the main directory. Therefore, just remove the unused variables and re-enable the warnings. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/idpf/base/meson.build | 9 --------- drivers/net/intel/idpf/idpf_common_rxtx.c | 2 -- drivers/net/intel/idpf/idpf_common_virtchnl.c | 4 ++-- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/net/intel/idpf/base/meson.build b/drivers/net/intel/idpf/base/meson.build index f30ec7dfc2..7316e0a805 100644 --- a/drivers/net/intel/idpf/base/meson.build +++ b/drivers/net/intel/idpf/base/meson.build @@ -5,12 +5,3 @@ sources += files( 'idpf_controlq.c', 'idpf_controlq_setup.c', ) - -error_cflags = [ - '-Wno-unused-variable', -] -foreach flag: error_cflags - if cc.has_argument(flag) - cflags += flag - endif -endforeach diff --git a/drivers/net/intel/idpf/idpf_common_rxtx.c b/drivers/net/intel/idpf/idpf_common_rxtx.c index a04e54ce26..9b17279181 100644 --- a/drivers/net/intel/idpf/idpf_common_rxtx.c +++ b/drivers/net/intel/idpf/idpf_common_rxtx.c @@ -1178,7 +1178,6 @@ idpf_dp_singleq_recv_scatter_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, struct rte_mbuf *last_seg = rxq->pkt_last_seg; struct rte_mbuf *rxm; struct rte_mbuf *nmb; - struct rte_eth_dev *dev; const uint32_t *ptype_tbl = rxq->adapter->ptype_tbl; uint16_t rx_id = rxq->rx_tail; uint16_t rx_packet_len; @@ -1310,7 +1309,6 @@ idpf_xmit_cleanup(struct idpf_tx_queue *txq) uint16_t nb_tx_desc = txq->nb_tx_desc; uint16_t desc_to_clean_to; uint16_t nb_tx_to_clean; - uint16_t i; volatile struct idpf_base_tx_desc *txd = txq->tx_ring; diff --git a/drivers/net/intel/idpf/idpf_common_virtchnl.c b/drivers/net/intel/idpf/idpf_common_virtchnl.c index de511da788..0ae1d55d79 100644 --- a/drivers/net/intel/idpf/idpf_common_virtchnl.c +++ b/drivers/net/intel/idpf/idpf_common_virtchnl.c @@ -362,7 +362,7 @@ idpf_vc_queue_grps_add(struct idpf_vport *vport, { struct idpf_adapter *adapter = vport->adapter; struct idpf_cmd_info args; - int size, qg_info_size; + int size; int err = -1; size = sizeof(*p2p_queue_grps_info) + @@ -1044,7 +1044,7 @@ int idpf_vc_rxq_config_by_info(struct idpf_vport *vport, struct virtchnl2_rxq_in struct idpf_adapter *adapter = vport->adapter; struct virtchnl2_config_rx_queues *vc_rxqs = NULL; struct idpf_cmd_info args; - int size, err, i; + int size, err; size = sizeof(*vc_rxqs) + (num_qs - 1) * sizeof(struct virtchnl2_rxq_info); -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 3/4] drivers: move iavf common folder to iavf net 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 1/4] drivers: merge common and net " Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson @ 2025-01-30 15:12 ` Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 4/4] net/intel: allow building ice driver without iavf Bruce Richardson 3 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 15:12 UTC (permalink / raw) To: dev Cc: Bruce Richardson, Thomas Monjalon, Vladimir Medvedkin, Ian Stokes, Anatoly Burakov, Jingjing Wu, Praveen Shetty The common/iavf driver folder contains the base code for the iavf driver, which is also linked against by the ice driver and others. However, there is no need for this to be in common, and we can move it to the net/intel/iavf as a base code driver. This involves updating dependencies that were on common/iavf to net/iavf Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- devtools/libabigail.abignore | 1 + doc/guides/rel_notes/release_25_03.rst | 5 ++++- drivers/common/iavf/version.map | 13 ------------- drivers/common/meson.build | 1 - .../{common/iavf => net/intel/iavf/base}/README | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.c | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.h | 0 .../iavf => net/intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../iavf => net/intel/iavf/base}/iavf_common.c | 0 .../iavf => net/intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../iavf => net/intel/iavf/base}/iavf_prototype.h | 0 .../iavf => net/intel/iavf/base}/iavf_register.h | 0 .../iavf => net/intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 +++++++++---- drivers/net/intel/iavf/version.map | 14 ++++++++++++++ drivers/net/intel/ice/meson.build | 7 +++---- drivers/net/intel/idpf/meson.build | 2 +- 24 files changed, 32 insertions(+), 24 deletions(-) delete mode 100644 drivers/common/iavf/version.map rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index 1dee6a954f..4d7079abbc 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -26,6 +26,7 @@ ; SKIP_LIBRARY=librte_common_mlx5_glue ; SKIP_LIBRARY=librte_net_mlx4_glue ; SKIP_LIBRARY=librte_common_idpf +; SKIP_LIBRARY=librte_common_iavf ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Experimental APIs exceptions ; diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst index 79b1116f6e..1f22efa79f 100644 --- a/doc/guides/rel_notes/release_25_03.rst +++ b/doc/guides/rel_notes/release_25_03.rst @@ -116,9 +116,12 @@ API Changes For example, ``-Denable_drivers=/net/i40e`` becomes ``-Denable_drivers=/net/intel/i40e``. * The driver ``common/idpf`` has been merged into the ``net/intel/idpf`` driver. - This change should have no impact to end applications, but, + Similarly, the ``common/iavf`` driver has been merged into the ``net/intel/iavf`` driver. + These changes should have no impact to end applications, but, when specifying the ``idpf`` or ``cpfl`` net drivers to meson via ``-Denable_drivers`` option, there is no longer any need to also specify the ``common/idpf`` driver. + In the same way, when specifying the ``iavf`` or ``ice`` net drivers, + there is no need to also specify the ``common/iavf`` driver. Note, however, ``net/intel/cpfl`` driver now depends upon the ``net/intel/idpf`` driver. diff --git a/drivers/common/iavf/version.map b/drivers/common/iavf/version.map deleted file mode 100644 index 6c1427cca4..0000000000 --- a/drivers/common/iavf/version.map +++ /dev/null @@ -1,13 +0,0 @@ -INTERNAL { - global: - - iavf_aq_send_msg_to_pf; - iavf_clean_arq_element; - iavf_init_adminq; - iavf_set_mac_type; - iavf_shutdown_adminq; - iavf_vf_parse_hw_config; - iavf_vf_reset; - - local: *; -}; diff --git a/drivers/common/meson.build b/drivers/common/meson.build index e1e3149d8f..dc096aab0a 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -5,7 +5,6 @@ std_deps = ['eal'] drivers = [ 'cpt', 'dpaax', - 'iavf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/common/iavf/README b/drivers/net/intel/iavf/base/README similarity index 100% rename from drivers/common/iavf/README rename to drivers/net/intel/iavf/base/README diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/net/intel/iavf/base/iavf_adminq.c similarity index 100% rename from drivers/common/iavf/iavf_adminq.c rename to drivers/net/intel/iavf/base/iavf_adminq.c diff --git a/drivers/common/iavf/iavf_adminq.h b/drivers/net/intel/iavf/base/iavf_adminq.h similarity index 100% rename from drivers/common/iavf/iavf_adminq.h rename to drivers/net/intel/iavf/base/iavf_adminq.h diff --git a/drivers/common/iavf/iavf_adminq_cmd.h b/drivers/net/intel/iavf/base/iavf_adminq_cmd.h similarity index 100% rename from drivers/common/iavf/iavf_adminq_cmd.h rename to drivers/net/intel/iavf/base/iavf_adminq_cmd.h diff --git a/drivers/common/iavf/iavf_alloc.h b/drivers/net/intel/iavf/base/iavf_alloc.h similarity index 100% rename from drivers/common/iavf/iavf_alloc.h rename to drivers/net/intel/iavf/base/iavf_alloc.h diff --git a/drivers/common/iavf/iavf_common.c b/drivers/net/intel/iavf/base/iavf_common.c similarity index 100% rename from drivers/common/iavf/iavf_common.c rename to drivers/net/intel/iavf/base/iavf_common.c diff --git a/drivers/common/iavf/iavf_devids.h b/drivers/net/intel/iavf/base/iavf_devids.h similarity index 100% rename from drivers/common/iavf/iavf_devids.h rename to drivers/net/intel/iavf/base/iavf_devids.h diff --git a/drivers/common/iavf/iavf_impl.c b/drivers/net/intel/iavf/base/iavf_impl.c similarity index 100% rename from drivers/common/iavf/iavf_impl.c rename to drivers/net/intel/iavf/base/iavf_impl.c diff --git a/drivers/common/iavf/iavf_osdep.h b/drivers/net/intel/iavf/base/iavf_osdep.h similarity index 100% rename from drivers/common/iavf/iavf_osdep.h rename to drivers/net/intel/iavf/base/iavf_osdep.h diff --git a/drivers/common/iavf/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h similarity index 100% rename from drivers/common/iavf/iavf_prototype.h rename to drivers/net/intel/iavf/base/iavf_prototype.h diff --git a/drivers/common/iavf/iavf_register.h b/drivers/net/intel/iavf/base/iavf_register.h similarity index 100% rename from drivers/common/iavf/iavf_register.h rename to drivers/net/intel/iavf/base/iavf_register.h diff --git a/drivers/common/iavf/iavf_status.h b/drivers/net/intel/iavf/base/iavf_status.h similarity index 100% rename from drivers/common/iavf/iavf_status.h rename to drivers/net/intel/iavf/base/iavf_status.h diff --git a/drivers/common/iavf/iavf_type.h b/drivers/net/intel/iavf/base/iavf_type.h similarity index 100% rename from drivers/common/iavf/iavf_type.h rename to drivers/net/intel/iavf/base/iavf_type.h diff --git a/drivers/common/iavf/meson.build b/drivers/net/intel/iavf/base/meson.build similarity index 100% rename from drivers/common/iavf/meson.build rename to drivers/net/intel/iavf/base/meson.build diff --git a/drivers/common/iavf/virtchnl.h b/drivers/net/intel/iavf/base/virtchnl.h similarity index 100% rename from drivers/common/iavf/virtchnl.h rename to drivers/net/intel/iavf/base/virtchnl.h diff --git a/drivers/common/iavf/virtchnl_inline_ipsec.h b/drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h similarity index 100% rename from drivers/common/iavf/virtchnl_inline_ipsec.h rename to drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h diff --git a/drivers/net/intel/iavf/meson.build b/drivers/net/intel/iavf/meson.build index d9b605f55a..c823d618e3 100644 --- a/drivers/net/intel/iavf/meson.build +++ b/drivers/net/intel/iavf/meson.build @@ -7,9 +7,13 @@ endif testpmd_sources = files('iavf_testpmd.c') -deps += ['common_iavf', 'security', 'cryptodev'] +deps += ['security', 'cryptodev'] sources = files( + 'base/iavf_adminq.c', + 'base/iavf_common.c', + 'base/iavf_impl.c', + 'iavf_ethdev.c', 'iavf_rxtx.c', 'iavf_vchnl.c', @@ -20,8 +24,9 @@ sources = files( 'iavf_ipsec_crypto.c', 'iavf_fsub.c', ) +includes += include_directories('base') -if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') +if arch_subdir == 'x86' sources += files('iavf_rxtx_vec_sse.c') if is_windows and cc.get_id() != 'clang' @@ -30,7 +35,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') iavf_avx2_lib = static_library('iavf_avx2_lib', 'iavf_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: [cflags, '-mavx2']) objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c') @@ -43,7 +48,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') endif iavf_avx512_lib = static_library('iavf_avx512_lib', 'iavf_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: avx512_args) objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/iavf/version.map b/drivers/net/intel/iavf/version.map index 98de64cca2..d18dea64dd 100644 --- a/drivers/net/intel/iavf/version.map +++ b/drivers/net/intel/iavf/version.map @@ -17,3 +17,17 @@ EXPERIMENTAL { # added in 21.11 rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask; }; + +INTERNAL { + global: + + iavf_aq_send_msg_to_pf; + iavf_clean_arq_element; + iavf_init_adminq; + iavf_set_mac_type; + iavf_shutdown_adminq; + iavf_vf_parse_hw_config; + iavf_vf_reset; + + local: *; +}; diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index beaf21e176..5faf887386 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,7 +18,7 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'common_iavf'] +deps += ['hash', 'net', 'net_iavf'] includes += include_directories('base') if arch_subdir == 'x86' @@ -30,7 +30,7 @@ if arch_subdir == 'x86' ice_avx2_lib = static_library('ice_avx2_lib', 'ice_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: [cflags, '-mavx2']) objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') @@ -43,8 +43,7 @@ if arch_subdir == 'x86' endif ice_avx512_lib = static_library('ice_avx512_lib', 'ice_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, - static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: avx512_args) objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 52405b5b35..e4559bf861 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,7 +7,7 @@ if is_windows subdir_done() endif -includes += include_directories('../../../common/iavf') +includes += include_directories('../iavf/base') sources = files( 'idpf_common_device.c', -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v3 4/4] net/intel: allow building ice driver without iavf 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson ` (2 preceding siblings ...) 2025-01-30 15:12 ` [PATCH v3 3/4] drivers: move iavf common folder to iavf net Bruce Richardson @ 2025-01-30 15:12 ` Bruce Richardson 3 siblings, 0 replies; 17+ messages in thread From: Bruce Richardson @ 2025-01-30 15:12 UTC (permalink / raw) To: dev; +Cc: Bruce Richardson, Vladimir Medvedkin, Ian Stokes, Anatoly Burakov The ice PMD relies on a number of functions from the iavf base code, which can be got by linking against that iavf driver. However, since only three C files are necessary here, we can allow ice to be built independently of iavf by including the base files directly in cases where iavf is not part of the build. If it is part of the build, the dependency remains as now. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/intel/iavf/base/iavf_prototype.h | 8 ++++++++ drivers/net/intel/ice/meson.build | 13 ++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/intel/iavf/base/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h index 7c43a817bb..5d2ee0a785 100644 --- a/drivers/net/intel/iavf/base/iavf_prototype.h +++ b/drivers/net/intel/iavf/base/iavf_prototype.h @@ -11,6 +11,14 @@ #include <rte_compat.h> +/* functions only need exporting if this is being built into + * iavf driver itself. If included in ice driver, then no export + */ +#ifndef RTE_NET_IAVF +#undef __rte_internal +#define __rte_internal +#endif + /* Prototypes for shared code functions that are not in * the standard function pointer structures. These are * mostly because they are needed even before the init diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index 5faf887386..f990e62250 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,9 +18,20 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'net_iavf'] +deps += ['hash', 'net'] includes += include_directories('base') +if dpdk_conf.has('RTE_NET_IAVF') + deps += 'net_iavf' +else + includes += include_directories('../iavf/base') + sources += files( + '../iavf/base/iavf_adminq.c', + '../iavf/base/iavf_common.c', + '../iavf/base/iavf_impl.c', + ) +endif + if arch_subdir == 'x86' sources += files('ice_rxtx_vec_sse.c') -- 2.43.0 ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2025-01-30 15:13 UTC | newest] Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-01-28 16:36 [PATCH 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-28 16:36 ` [PATCH 1/4] drivers: merge common and net " Bruce Richardson 2025-01-28 16:36 ` [PATCH 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson 2025-01-28 16:36 ` [PATCH 3/4] drivers: move iavf common folder to iavf net Bruce Richardson 2025-01-28 16:36 ` [PATCH 4/4] net/intel: allow building ice driver without iavf Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 0/4] remove common iavf and idpf drivers Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 1/4] drivers: merge common and net " Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 3/4] drivers: move iavf common folder to iavf net Bruce Richardson 2025-01-30 12:48 ` [PATCH v2 4/4] net/intel: allow building ice driver without iavf Bruce Richardson 2025-01-30 13:55 ` [PATCH v2 0/4] remove common iavf and idpf drivers David Marchand 2025-01-30 14:28 ` Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 " Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 1/4] drivers: merge common and net " Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 3/4] drivers: move iavf common folder to iavf net Bruce Richardson 2025-01-30 15:12 ` [PATCH v3 4/4] net/intel: allow building ice driver without iavf Bruce Richardson
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).