[00/25] add the NFP vDPA PMD

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

Message

Chaoyong He Oct. 17, 2023, 5:45 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.

Chaoyong He (25):
  drivers: introduce the NFP common library
  net/nfp: make VF PMD using of NFP common module
  net/nfp: rename common module name
  net/nfp: rename ctrl module name
  net/nfp: extract the cap data field
  net/nfp: extract the qcp data field
  net/nfp: extract the ctrl BAR data field
  net/nfp: extract the ctrl data field
  net/nfp: change the parameter of APIs
  net/nfp: change the parameter of reconfig
  net/nfp: extract the MAC address data field
  net/nfp: rename parameter in related logic
  drivers: add the common ctrl module
  drivers: add the nfp common module
  drivers: move queue logic to common module
  drivers: move platform module to common library
  drivers: move device module to common library
  drivers/vdpa: introduce the NFP vDPA library
  drivers: add the basic framework of vDPA PMD
  vdpa/nfp: add the logic of remap PCI memory
  vdpa/nfp: add the hardware init logic
  drivers: add the datapath update logic
  vdpa/nfp: add the notify related logic
  vdpa/nfp: add nfp vDPA device operations
  doc: add the common and vDPA document

 .mailmap                                      |   1 +
 MAINTAINERS                                   |   8 +
 doc/guides/platform/index.rst                 |   1 +
 doc/guides/platform/nfp.rst                   |  30 +
 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               | 182 ++++
 drivers/common/nfp/nfp_common.h               | 234 +++++
 .../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                |  15 +
 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                   |  11 +-
 drivers/net/nfp/nfd3/nfp_nfd3_dp.c            |  16 +-
 drivers/net/nfp/nfdk/nfp_nfdk_dp.c            |  20 +-
 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}    | 455 ++++-----
 .../nfp/{nfp_common.h => nfp_net_common.h}    | 217 +----
 .../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                  |  24 +
 drivers/vdpa/nfp/nfp_vdpa.c                   | 909 ++++++++++++++++++
 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 +
 48 files changed, 2722 insertions(+), 894 deletions(-)
 create mode 100644 doc/guides/platform/nfp.rst
 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} (82%)
 rename drivers/net/nfp/{nfp_common.h => nfp_net_common.h} (65%)
 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