From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from netronome.com (host-79-78-33-110.static.as9105.net [79.78.33.110]) by dpdk.org (Postfix) with ESMTP id 1010C7CEC for ; Thu, 24 Aug 2017 18:20:32 +0200 (CEST) Received: from netronome.com (localhost [127.0.0.1]) by netronome.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id v7OGKMwf016292 for ; Thu, 24 Aug 2017 17:20:22 +0100 Received: (from alucero@localhost) by netronome.com (8.14.4/8.14.4/Submit) id v7OGKMEh016291 for dev@dpdk.org; Thu, 24 Aug 2017 17:20:22 +0100 From: Alejandro Lucero To: dev@dpdk.org Date: Thu, 24 Aug 2017 17:20:06 +0100 Message-Id: <1503591622-16232-1-git-send-email-alejandro.lucero@netronome.com> X-Mailer: git-send-email 1.9.1 Subject: [dpdk-dev] [PATCH 00/16] nfp: add pf support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Aug 2017 16:20:33 -0000 NFP PMD has just had support for SRIOV VFs until now. This patchset adds support for the PF, but just for being used as another DPDK port. No VF management is added by now. NFP is a programmable device and it supports virtual NICs (vNICs) through firmware implementation. Different firmware applications implement vNICs for PF devices and VF devices, being number of vNICs dependent on the firmware and the NFP card available. PF vNIC (virtual) BARs are a subset of PF PCI device BARs while VF vNIC BARs are same than VF PCI BARs. Working with VF vNICs requires a PF driver uploading the firmware and doing some NFP configuration. This needs can be only done with the kernel NFP PF netdev driver by now. Working with PF vNIC requires the PMD doing the NFP configuration and for accessing the NFP a specific user space interface is created. NFP Service Processor Userspace (NSPU) interface allows to create specific PCI BAR windows for accessing different parts of the NFP device, including the Network Service Processor (NSP) itself. The NSPU interface is implemented as the base for working with the PF. Alejandro Lucero (16): nfp: add nsp user space interface nfp: add specific pf probe function nfp: add support for new pci id nfp: add nsp support for commands nfp: add nsp fw upload command nfp: add nsp symbol resolution command nfp: add fw upload logic nfp: add support for vnic config bar mapping nfp: add support for vNIC rx/tx bar mappings nfp: support pf devices inside pmd initialization nfp: allocate eth_dev from pf probe function nfp: support pf multiport nfp: add nsp support for hw link configuration nfp: add support for hw port link configuration nfp: read pf port mac addr using nsp doc: update nfp with pf support information doc/guides/nics/nfp.rst | 71 +++-- drivers/net/nfp/Makefile | 2 + drivers/net/nfp/nfp_net.c | 377 +++++++++++++++++++++++-- drivers/net/nfp/nfp_net_ctrl.h | 3 + drivers/net/nfp/nfp_net_eth.h | 82 ++++++ drivers/net/nfp/nfp_net_pmd.h | 8 + drivers/net/nfp/nfp_nfpu.c | 103 +++++++ drivers/net/nfp/nfp_nfpu.h | 55 ++++ drivers/net/nfp/nfp_nspu.c | 623 +++++++++++++++++++++++++++++++++++++++++ drivers/net/nfp/nfp_nspu.h | 83 ++++++ 10 files changed, 1369 insertions(+), 38 deletions(-) create mode 100644 drivers/net/nfp/nfp_net_eth.h create mode 100644 drivers/net/nfp/nfp_nfpu.c create mode 100644 drivers/net/nfp/nfp_nfpu.h create mode 100644 drivers/net/nfp/nfp_nspu.c create mode 100644 drivers/net/nfp/nfp_nspu.h -- 1.9.1