[v4,00/24] add the NFP vDPA PMD

Message ID 20231027030001.602639-1-chaoyong.he@corigine.com (mailing list archive)
Headers
Series add the NFP vDPA PMD |

Message

Chaoyong He Oct. 27, 2023, 2:59 a.m. UTC
  This patch series aims to add the NFP vDPA PMD, we also grab the common
logic into the `drivers/common/nfp` directory.

---
v4:
* Try to fix compile error in clang environment.
* Merge the modify of release notes into suitable commit.
* Rewrite the commit headline as the advise of reviewer.
v3:
* Replace 'pthread_xxx' API with 'rte_thread_xxx' API.
* Replace '__atomic_xxx' built-ins with 'rte_atomic_xxx'.
* Drop the check statement in meson.build file which prevent build of
  PMD.
* Fix a problem about the logtype prefix.
* Move the document modification to the commit which should be.
v2:
* Grab more logic into the `drivers/common/nfp` directory.
* Delete some logic which should be when moving logic.
---

Chaoyong He (24):
  common/nfp: introduce driver
  net/nfp: make VF PMD use NFP common driver
  net/nfp: rename net common module
  net/nfp: rename ctrl module
  net/nfp: extract cap data field
  net/nfp: extract qcp data field
  net/nfp: extract ctrl BAR data field
  net/nfp: extract ctrl data field
  net/nfp: change parameter of functions
  net/nfp: change parameter of reconfig
  net/nfp: extract MAC address data field
  net/nfp: rename parameter in related logic
  common/nfp: add common ctrl module
  common/nfp: add common module
  common/nfp: move queue logic
  common/nfp: move platform module
  common/nfp: move device module
  vdpa/nfp: introduce driver
  vdpa/nfp: add basic framework
  vdpa/nfp: add remap PCI memory
  vdpa/nfp: add hardware init
  vdpa/nfp: add datapath update
  vdpa/nfp: add notify related logic
  vdpa/nfp: add device operations

 .mailmap                                      |   1 +
 MAINTAINERS                                   |   7 +
 doc/guides/rel_notes/release_23_11.rst        |   5 +
 doc/guides/vdpadevs/features/nfp.ini          |   8 +
 doc/guides/vdpadevs/index.rst                 |   1 +
 doc/guides/vdpadevs/nfp.rst                   |  54 ++
 drivers/common/nfp/meson.build                |  16 +
 drivers/common/nfp/nfp_common.c               | 226 +++++
 drivers/common/nfp/nfp_common.h               | 239 +++++
 .../nfp/nfp_common_ctrl.h}                    | 209 +---
 drivers/common/nfp/nfp_common_log.c           |   8 +
 drivers/common/nfp/nfp_common_log.h           |  16 +
 drivers/common/nfp/nfp_common_pci.c           | 275 ++++++
 drivers/common/nfp/nfp_common_pci.h           |  45 +
 .../{net/nfp/nfpcore => common/nfp}/nfp_dev.c |   3 +-
 .../{net/nfp/nfpcore => common/nfp}/nfp_dev.h |   3 +
 .../nfp/nfpcore => common/nfp}/nfp_platform.h |   0
 drivers/common/nfp/version.map                |  16 +
 drivers/meson.build                           |   1 +
 drivers/net/nfp/flower/nfp_flower.c           |  56 +-
 drivers/net/nfp/flower/nfp_flower.h           |   2 +-
 .../net/nfp/flower/nfp_flower_representor.c   |  10 +-
 drivers/net/nfp/meson.build                   |   7 +-
 drivers/net/nfp/nfd3/nfp_nfd3_dp.c            |  18 +-
 drivers/net/nfp/nfdk/nfp_nfdk_dp.c            |  22 +-
 drivers/net/nfp/nfp_cpp_bridge.h              |   2 +-
 drivers/net/nfp/nfp_ethdev.c                  |  80 +-
 drivers/net/nfp/nfp_ethdev_vf.c               |  74 +-
 drivers/net/nfp/nfp_flow.h                    |   2 +-
 drivers/net/nfp/nfp_ipsec.c                   |  86 +-
 .../nfp/{nfp_common.c => nfp_net_common.c}    | 493 ++++------
 .../nfp/{nfp_common.h => nfp_net_common.h}    | 219 +----
 .../net/nfp/{nfp_ctrl.c => nfp_net_ctrl.c}    |  21 +-
 drivers/net/nfp/nfp_net_ctrl.h                | 211 ++++
 drivers/net/nfp/nfp_rxtx.c                    |  20 +-
 drivers/net/nfp/nfpcore/nfp6000_pcie.h        |   2 +-
 drivers/net/nfp/nfpcore/nfp_cppcore.c         |   3 +-
 drivers/net/nfp/nfpcore/nfp_nsp.c             |   2 +-
 drivers/net/nfp/nfpcore/nfp_nsp_eth.c         |   3 +-
 drivers/vdpa/meson.build                      |   1 +
 drivers/vdpa/nfp/meson.build                  |  15 +
 drivers/vdpa/nfp/nfp_vdpa.c                   | 912 ++++++++++++++++++
 drivers/vdpa/nfp/nfp_vdpa_core.c              | 193 ++++
 drivers/vdpa/nfp/nfp_vdpa_core.h              |  51 +
 drivers/vdpa/nfp/nfp_vdpa_log.c               |   9 +
 drivers/vdpa/nfp/nfp_vdpa_log.h               |  21 +
 46 files changed, 2727 insertions(+), 941 deletions(-)
 create mode 100644 doc/guides/vdpadevs/features/nfp.ini
 create mode 100644 doc/guides/vdpadevs/nfp.rst
 create mode 100644 drivers/common/nfp/meson.build
 create mode 100644 drivers/common/nfp/nfp_common.c
 create mode 100644 drivers/common/nfp/nfp_common.h
 rename drivers/{net/nfp/nfp_ctrl.h => common/nfp/nfp_common_ctrl.h} (63%)
 create mode 100644 drivers/common/nfp/nfp_common_log.c
 create mode 100644 drivers/common/nfp/nfp_common_log.h
 create mode 100644 drivers/common/nfp/nfp_common_pci.c
 create mode 100644 drivers/common/nfp/nfp_common_pci.h
 rename drivers/{net/nfp/nfpcore => common/nfp}/nfp_dev.c (98%)
 rename drivers/{net/nfp/nfpcore => common/nfp}/nfp_dev.h (96%)
 rename drivers/{net/nfp/nfpcore => common/nfp}/nfp_platform.h (100%)
 create mode 100644 drivers/common/nfp/version.map
 rename drivers/net/nfp/{nfp_common.c => nfp_net_common.c} (80%)
 rename drivers/net/nfp/{nfp_common.h => nfp_net_common.h} (64%)
 rename drivers/net/nfp/{nfp_ctrl.c => nfp_net_ctrl.c} (84%)
 create mode 100644 drivers/net/nfp/nfp_net_ctrl.h
 create mode 100644 drivers/vdpa/nfp/meson.build
 create mode 100644 drivers/vdpa/nfp/nfp_vdpa.c
 create mode 100644 drivers/vdpa/nfp/nfp_vdpa_core.c
 create mode 100644 drivers/vdpa/nfp/nfp_vdpa_core.h
 create mode 100644 drivers/vdpa/nfp/nfp_vdpa_log.c
 create mode 100644 drivers/vdpa/nfp/nfp_vdpa_log.h
  

Comments

Ferruh Yigit Oct. 27, 2023, 1:38 p.m. UTC | #1
On 10/27/2023 3:59 AM, Chaoyong He wrote:
> This patch series aims to add the NFP vDPA PMD, we also grab the common
> logic into the `drivers/common/nfp` directory.
> 
> ---
> v4:
> * Try to fix compile error in clang environment.
> * Merge the modify of release notes into suitable commit.
> * Rewrite the commit headline as the advise of reviewer.
> v3:
> * Replace 'pthread_xxx' API with 'rte_thread_xxx' API.
> * Replace '__atomic_xxx' built-ins with 'rte_atomic_xxx'.
> * Drop the check statement in meson.build file which prevent build of
>   PMD.
> * Fix a problem about the logtype prefix.
> * Move the document modification to the commit which should be.
> v2:
> * Grab more logic into the `drivers/common/nfp` directory.
> * Delete some logic which should be when moving logic.
> ---
> 
> Chaoyong He (24):
>   common/nfp: introduce driver
>   net/nfp: make VF PMD use NFP common driver
>   net/nfp: rename net common module
>   net/nfp: rename ctrl module
>   net/nfp: extract cap data field
>   net/nfp: extract qcp data field
>   net/nfp: extract ctrl BAR data field
>   net/nfp: extract ctrl data field
>   net/nfp: change parameter of functions
>   net/nfp: change parameter of reconfig
>   net/nfp: extract MAC address data field
>   net/nfp: rename parameter in related logic
>   common/nfp: add common ctrl module
>   common/nfp: add common module
>   common/nfp: move queue logic
>   common/nfp: move platform module
>   common/nfp: move device module
>   vdpa/nfp: introduce driver
>   vdpa/nfp: add basic framework
>   vdpa/nfp: add remap PCI memory
>   vdpa/nfp: add hardware init
>   vdpa/nfp: add datapath update
>   vdpa/nfp: add notify related logic
>   vdpa/nfp: add device operations
> 

Series applied to dpdk-next-net/main, thanks.


Need to resolve conflict on 'nfp_net_supported_ptypes_get()' because of
previous patch merged, can you please double check if the final output
is good.