[dpdk-dev] [PATCH v2 0/4] NFP PF support based on new CPP interface
Alejandro Lucero
alejandro.lucero at netronome.com
Thu Apr 5 16:39:44 CEST 2018
I did not create the patchset with the -v flag so just the first one has
the v2 tag.
I will remove the patches and send them again.
Apologies.
On Thu, Apr 5, 2018 at 4:28 PM, Alejandro Lucero <
alejandro.lucero at netronome.com> wrote:
> NFP PMD PF support requires to access the NFP chip for initialization.
> Current NFP PMD PF support was added based on the NSPU interface. This
> implies to do initialization through the NSP, a embedded ARM processor
> which does initialization tasks on demand. The main problem with this
> approach is it requires to add support for new NSP commands each time
> a new functionality is required, which does not scale well and it is
> not really flexible.
>
> Using the new CPP user space interface, the PMD can do whatever could
> be done by the NSP, this is current commands and any new functionality
> required. This CPP interface allows to access any single chip component
> facilitating initialization, firmware uploading, firmware debugging or
> extended stats.
>
> The changes just change the PMD PF initialization and do not touch the
> datapath at all. No performance changes nor PMD functionalities are
> affected.
>
> The initial impact using the new CPP interface is the way firmware upload
> is handled, which helps the PMD detecting the card type and the firmware
> file
> to upload. Future commits will include extended stats and some sort of
> debug
> channel.
>
> The specific CPP code is contained in the first patch, which has not been
> splitted up because is completely internal to the NFP functionality. The
> second patch makes the PMD changes required for using the new interface.
>
> v2:
> - removing unused reference to zlib.h
> - fix build errors
> - add SPDX tags in new files
> - rebase changes nfp.rst
>
> Alejandro Lucero (4):
> net/nfp: add NFP CPP support
> net/nfp: update PMD for using new CPP interface
> doc: update NFP guide
> net/nfp: remove files
>
> doc/guides/nics/nfp.rst | 34 +-
> drivers/net/nfp/Makefile | 17 +-
> drivers/net/nfp/nfp_net.c | 342 +++++---
> drivers/net/nfp/nfp_net_eth.h | 82 --
> drivers/net/nfp/nfp_net_pmd.h | 16 +-
> drivers/net/nfp/nfp_nfpu.c | 108 ---
> drivers/net/nfp/nfp_nfpu.h | 55 --
> drivers/net/nfp/nfp_nspu.c | 642 ---------------
> drivers/net/nfp/nfp_nspu.h | 83 --
> drivers/net/nfp/nfpcore/nfp-common/nfp_cppat.h | 722 +++++++++++++++++
> drivers/net/nfp/nfpcore/nfp-common/nfp_platform.h | 36 +
> drivers/net/nfp/nfpcore/nfp-common/nfp_resid.h | 592 ++++++++++++++
> drivers/net/nfp/nfpcore/nfp6000/nfp6000.h | 40 +
> drivers/net/nfp/nfpcore/nfp6000/nfp_xpb.h | 26 +
> drivers/net/nfp/nfpcore/nfp_cpp.h | 776
> ++++++++++++++++++
> drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 936
> ++++++++++++++++++++++
> drivers/net/nfp/nfpcore/nfp_cppcore.c | 856
> ++++++++++++++++++++
> drivers/net/nfp/nfpcore/nfp_crc.c | 49 ++
> drivers/net/nfp/nfpcore/nfp_crc.h | 19 +
> drivers/net/nfp/nfpcore/nfp_hwinfo.c | 199 +++++
> drivers/net/nfp/nfpcore/nfp_hwinfo.h | 85 ++
> drivers/net/nfp/nfpcore/nfp_mip.c | 154 ++++
> drivers/net/nfp/nfpcore/nfp_mip.h | 21 +
> drivers/net/nfp/nfpcore/nfp_mutex.c | 424 ++++++++++
> drivers/net/nfp/nfpcore/nfp_nffw.c | 235 ++++++
> drivers/net/nfp/nfpcore/nfp_nffw.h | 86 ++
> drivers/net/nfp/nfpcore/nfp_nsp.c | 427 ++++++++++
> drivers/net/nfp/nfpcore/nfp_nsp.h | 304 +++++++
> drivers/net/nfp/nfpcore/nfp_nsp_cmds.c | 109 +++
> drivers/net/nfp/nfpcore/nfp_nsp_eth.c | 665 +++++++++++++++
> drivers/net/nfp/nfpcore/nfp_resource.c | 264 ++++++
> drivers/net/nfp/nfpcore/nfp_resource.h | 52 ++
> drivers/net/nfp/nfpcore/nfp_rtsym.c | 327 ++++++++
> drivers/net/nfp/nfpcore/nfp_rtsym.h | 61 ++
> drivers/net/nfp/nfpcore/nfp_target.h | 579 +++++++++++++
> 35 files changed, 8334 insertions(+), 1089 deletions(-)
> delete mode 100644 drivers/net/nfp/nfp_net_eth.h
> delete mode 100644 drivers/net/nfp/nfp_nfpu.c
> delete mode 100644 drivers/net/nfp/nfp_nfpu.h
> delete mode 100644 drivers/net/nfp/nfp_nspu.c
> delete mode 100644 drivers/net/nfp/nfp_nspu.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp-common/nfp_cppat.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp-common/nfp_platform.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp-common/nfp_resid.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp6000/nfp6000.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp6000/nfp_xpb.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_cpp.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_cppcore.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_crc.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_crc.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_hwinfo.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_hwinfo.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_mip.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_mip.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_mutex.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_nffw.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_nffw.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_nsp.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_nsp.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_nsp_cmds.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_nsp_eth.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_resource.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_resource.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_rtsym.c
> create mode 100644 drivers/net/nfp/nfpcore/nfp_rtsym.h
> create mode 100644 drivers/net/nfp/nfpcore/nfp_target.h
>
> --
> 1.9.1
>
>
More information about the dev
mailing list