DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Stokes, Ian" <ian.stokes@intel.com>
To: "Richardson, Bruce" <bruce.richardson@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Cc: "Richardson, Bruce" <bruce.richardson@intel.com>
Subject: RE: [PATCH v5 3/4] drivers: move iavf common folder to iavf net
Date: Tue, 11 Feb 2025 14:12:32 +0000	[thread overview]
Message-ID: <MW6PR11MB8309FCC5041119B326B143C292FD2@MW6PR11MB8309.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20250210164427.1118265-4-bruce.richardson@intel.com>

> 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 b7daca4841..ce501632b3 100644
> --- a/devtools/libabigail.abignore
> +++ b/devtools/libabigail.abignore
> @@ -23,6 +23,7 @@
>  ; This is not a libabigail rule (see check-abi.sh).
>  ; This is used for driver removal and other special cases like mlx glue libs.
>  ;
> +; SKIP_LIBRARY=librte_common_iavf
>  ; SKIP_LIBRARY=librte_common_idpf
>  ; SKIP_LIBRARY=librte_common_mlx5_glue
>  ; SKIP_LIBRARY=librte_net_mlx4_glue
> diff --git a/doc/guides/rel_notes/release_25_03.rst
> b/doc/guides/rel_notes/release_25_03.rst
> index 2338a97e76..d2e8b03107 100644
> --- a/doc/guides/rel_notes/release_25_03.rst
> +++ b/doc/guides/rel_notes/release_25_03.rst
> @@ -182,9 +182,12 @@ API Changes
>    ``-Denable_drivers=net/intel/e1000``.
> 
>  * 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 87bc39f76e..d69254484b 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

Patch looks good to me Bruce.

Acked-by: Ian Stokes <ian.stokes@intel.com>


  reply	other threads:[~2025-02-11 14:12 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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-02-03  8:36     ` Shetty, Praveen
2025-01-30 15:12   ` [PATCH v3 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson
2025-02-03  8:35     ` Shetty, Praveen
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
2025-02-05 10:09   ` [PATCH v3 0/4] remove common iavf and idpf drivers David Marchand
2025-02-05 11:55 ` [PATCH v4 " Bruce Richardson
2025-02-05 11:55   ` [PATCH v4 1/4] drivers: merge common and net " Bruce Richardson
2025-02-05 11:55   ` [PATCH v4 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson
2025-02-05 11:55   ` [PATCH v4 3/4] drivers: move iavf common folder to iavf net Bruce Richardson
2025-02-05 11:55   ` [PATCH v4 4/4] net/intel: allow building ice driver without iavf Bruce Richardson
2025-02-10 16:44 ` [PATCH v5 0/4] remove common iavf and idpf drivers Bruce Richardson
2025-02-10 16:44   ` [PATCH v5 1/4] drivers: merge common and net " Bruce Richardson
2025-02-10 16:44   ` [PATCH v5 2/4] net/idpf: re-enable unused variable warnings Bruce Richardson
2025-02-10 16:44   ` [PATCH v5 3/4] drivers: move iavf common folder to iavf net Bruce Richardson
2025-02-11 14:12     ` Stokes, Ian [this message]
2025-02-10 16:44   ` [PATCH v5 4/4] net/intel: allow building ice driver without iavf Bruce Richardson
2025-02-11 14:13     ` Stokes, Ian
2025-02-11 15:53   ` [PATCH v5 0/4] remove common iavf and idpf drivers Bruce Richardson

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=MW6PR11MB8309FCC5041119B326B143C292FD2@MW6PR11MB8309.namprd11.prod.outlook.com \
    --to=ian.stokes@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is 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).