Message ID | 1554877672-19745-1-git-send-email-rosen.xu@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 267053772; Wed, 10 Apr 2019 08:26:50 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 341662BD8 for <dev@dpdk.org>; Wed, 10 Apr 2019 08:26:47 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Apr 2019 23:26:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,332,1549958400"; d="scan'208";a="147980577" Received: from dpdkx8602.sh.intel.com ([10.67.110.200]) by FMSMGA003.fm.intel.com with ESMTP; 09 Apr 2019 23:26:43 -0700 From: Rosen Xu <rosen.xu@intel.com> To: dev@dpdk.org Cc: ferruh.yigit@intel.com, tianfei.zhang@intel.com, dan.wei@intel.com, rosen.xu@intel.com, andy.pei@intel.com, qiming.yang@intel.com, haiyue.wang@intel.com, santos.chen@intel.com, zhang.zhang@intel.com, david.lomartire@intel.com, jia.hu@intel.com Date: Wed, 10 Apr 2019 14:27:38 +0800 Message-Id: <1554877672-19745-1-git-send-email-rosen.xu@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1551338000-120348-1-git-send-email-rosen.xu@intel.com> References: <1551338000-120348-1-git-send-email-rosen.xu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=y Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v7 00/14] Add patch set for IPN3KE X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
Add patch set for IPN3KE
|
|
Message
Xu, Rosen
April 10, 2019, 6:27 a.m. UTC
v7 updates: ========= - Fix Stephen comments v6 updates: ========== - Fix v5 comments - Fix TM Shaper rate issue v5 updates: ========== - Fix EXPERIMENTAL symbol definition issue v4 updates: ========== - Fix coding style issues v3 updates: ========== - Fix v2 comments - Update MAC BAR of AFU index get ops - Remove OPAE share code dependency of libfdt v2 updates: ========== - Fix v1 comments - Add support for 10G Base Line Design Bitstream - Add support for 25G Base Line Design Bitstream This patch set adds the support of a new net PMD, Intel® FPGA Programmable Acceleration Card N3000, also called ipn3ke. The ipn3ke PMD (librte_pmd_ipn3ke) provides poll mode driver support for Intel® FPGA PAC(Programmable Acceleration Card) N3000 based on the Intel Ethernet Controller X710/XXV710 and Intel Arria 10 FPGA. In this card, FPGA is an acceleration bridge between network interface and the Intel Ethernet Controller. Although both FPGA and Ethernet Controllers are connected to CPU with PCIe Gen3x16 Switch, all the packet RX/TX is handled by Intel Ethernet Controller. So from application point of view the data path is still the legacy Intel Ethernet Controller X710/XXV710 PMD. Besides this, users can enable more acceleration features by FPGA IP. Rosen Xu (7): bus/ifpga: add AFU shared data bus/ifpga: add function for AFU search by name net/ipn3ke: add IPN3KE ethdev PMD driver net/ipn3ke: add IPN3KE representor of PMD driver net/ipn3ke: add IPN3KE TM of PMD driver net/ipn3ke: add IPN3KE Flow of PMD driver raw/ifpga_rawdev: add IPN3KE support for IFPGA Rawdev Tianfei zhang (7): raw/ifpga_rawdev: clean up code for ifpga share code raw/ifpga_rawdev: store private features in FME and Port raw/ifpga_rawdev: add SPI and MAX10 device driver raw/ifpga_rawdev: add I2C and at24 EEPROM driver raw/ifpga_rawdev: add eth group driver raw/ifpga_rawdev: add version description on README raw/ifpga_rawdev: using prefix name for feature and its ops MAINTAINERS | 6 + config/common_base | 4 + doc/guides/nics/features/ipn3ke.ini | 55 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ipn3ke.rst | 108 + drivers/bus/ifpga/ifpga_bus.c | 13 + drivers/bus/ifpga/rte_bus_ifpga.h | 16 + drivers/bus/ifpga/rte_bus_ifpga_version.map | 6 + drivers/net/Makefile | 1 + drivers/net/ipn3ke/Makefile | 40 + drivers/net/ipn3ke/ipn3ke_ethdev.c | 653 ++++++ drivers/net/ipn3ke/ipn3ke_ethdev.h | 975 +++++++++ drivers/net/ipn3ke/ipn3ke_flow.c | 1374 +++++++++++++ drivers/net/ipn3ke/ipn3ke_flow.h | 106 + drivers/net/ipn3ke/ipn3ke_logs.h | 30 + drivers/net/ipn3ke/ipn3ke_rawdev_api.h | 62 + drivers/net/ipn3ke/ipn3ke_representor.c | 893 +++++++++ drivers/net/ipn3ke/ipn3ke_tm.c | 2069 ++++++++++++++++++++ drivers/net/ipn3ke/meson.build | 17 + drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map | 4 + drivers/net/meson.build | 1 + drivers/raw/ifpga_rawdev/Makefile | 1 + drivers/raw/ifpga_rawdev/base/Makefile | 6 + drivers/raw/ifpga_rawdev/base/README | 15 + drivers/raw/ifpga_rawdev/base/ifpga_api.c | 98 +- drivers/raw/ifpga_rawdev/base/ifpga_api.h | 1 + drivers/raw/ifpga_rawdev/base/ifpga_defines.h | 93 +- drivers/raw/ifpga_rawdev/base/ifpga_enumerate.c | 357 ++-- drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.c | 174 +- drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h | 99 +- drivers/raw/ifpga_rawdev/base/ifpga_fme.c | 602 +++++- drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c | 16 +- drivers/raw/ifpga_rawdev/base/ifpga_fme_error.c | 18 +- drivers/raw/ifpga_rawdev/base/ifpga_fme_iperf.c | 28 +- drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c | 8 +- drivers/raw/ifpga_rawdev/base/ifpga_hw.h | 44 +- drivers/raw/ifpga_rawdev/base/ifpga_port.c | 51 +- drivers/raw/ifpga_rawdev/base/ifpga_port_error.c | 10 +- drivers/raw/ifpga_rawdev/base/meson.build | 8 +- drivers/raw/ifpga_rawdev/base/opae_at24_eeprom.c | 88 + drivers/raw/ifpga_rawdev/base/opae_at24_eeprom.h | 14 + drivers/raw/ifpga_rawdev/base/opae_debug.c | 16 +- drivers/raw/ifpga_rawdev/base/opae_eth_group.c | 145 ++ drivers/raw/ifpga_rawdev/base/opae_eth_group.h | 96 + drivers/raw/ifpga_rawdev/base/opae_hw_api.c | 200 +- drivers/raw/ifpga_rawdev/base/opae_hw_api.h | 54 +- drivers/raw/ifpga_rawdev/base/opae_i2c.c | 490 +++++ drivers/raw/ifpga_rawdev/base/opae_i2c.h | 130 ++ drivers/raw/ifpga_rawdev/base/opae_intel_max10.c | 88 + drivers/raw/ifpga_rawdev/base/opae_intel_max10.h | 96 + drivers/raw/ifpga_rawdev/base/opae_osdep.h | 21 +- drivers/raw/ifpga_rawdev/base/opae_spi.c | 304 +++ drivers/raw/ifpga_rawdev/base/opae_spi.h | 160 ++ .../raw/ifpga_rawdev/base/opae_spi_transaction.c | 438 +++++ .../ifpga_rawdev/base/osdep_raw/osdep_generic.h | 1 + .../ifpga_rawdev/base/osdep_rte/osdep_generic.h | 16 + drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 248 ++- drivers/raw/ifpga_rawdev/ifpga_rawdev.h | 16 +- drivers/raw/ifpga_rawdev/meson.build | 6 +- mk/rte.app.mk | 1 + usertools/dpdk-devbind.py | 4 +- 61 files changed, 10265 insertions(+), 430 deletions(-) create mode 100644 doc/guides/nics/features/ipn3ke.ini create mode 100644 doc/guides/nics/ipn3ke.rst create mode 100644 drivers/net/ipn3ke/Makefile create mode 100644 drivers/net/ipn3ke/ipn3ke_ethdev.c create mode 100644 drivers/net/ipn3ke/ipn3ke_ethdev.h create mode 100644 drivers/net/ipn3ke/ipn3ke_flow.c create mode 100644 drivers/net/ipn3ke/ipn3ke_flow.h create mode 100644 drivers/net/ipn3ke/ipn3ke_logs.h create mode 100644 drivers/net/ipn3ke/ipn3ke_rawdev_api.h create mode 100644 drivers/net/ipn3ke/ipn3ke_representor.c create mode 100644 drivers/net/ipn3ke/ipn3ke_tm.c create mode 100644 drivers/net/ipn3ke/meson.build create mode 100644 drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map create mode 100644 drivers/raw/ifpga_rawdev/base/opae_at24_eeprom.c create mode 100644 drivers/raw/ifpga_rawdev/base/opae_at24_eeprom.h create mode 100644 drivers/raw/ifpga_rawdev/base/opae_eth_group.c create mode 100644 drivers/raw/ifpga_rawdev/base/opae_eth_group.h create mode 100644 drivers/raw/ifpga_rawdev/base/opae_i2c.c create mode 100644 drivers/raw/ifpga_rawdev/base/opae_i2c.h create mode 100644 drivers/raw/ifpga_rawdev/base/opae_intel_max10.c create mode 100644 drivers/raw/ifpga_rawdev/base/opae_intel_max10.h create mode 100644 drivers/raw/ifpga_rawdev/base/opae_spi.c create mode 100644 drivers/raw/ifpga_rawdev/base/opae_spi.h create mode 100644 drivers/raw/ifpga_rawdev/base/opae_spi_transaction.c
Comments
On 4/10/2019 7:27 AM, Rosen Xu wrote: > v7 updates: > ========= > - Fix Stephen comments > > v6 updates: > ========== > - Fix v5 comments > - Fix TM Shaper rate issue > > v5 updates: > ========== > - Fix EXPERIMENTAL symbol definition issue > > v4 updates: > ========== > - Fix coding style issues > > v3 updates: > ========== > - Fix v2 comments > - Update MAC BAR of AFU index get ops > - Remove OPAE share code dependency of libfdt > > v2 updates: > ========== > - Fix v1 comments > - Add support for 10G Base Line Design Bitstream > - Add support for 25G Base Line Design Bitstream > > This patch set adds the support of a new net PMD, Intel® FPGA Programmable > Acceleration Card N3000, also called ipn3ke. > > The ipn3ke PMD (librte_pmd_ipn3ke) provides poll mode driver support > for Intel® FPGA PAC(Programmable Acceleration Card) N3000 based on > the Intel Ethernet Controller X710/XXV710 and Intel Arria 10 FPGA. > > In this card, FPGA is an acceleration bridge between network interface > and the Intel Ethernet Controller. Although both FPGA and Ethernet > Controllers are connected to CPU with PCIe Gen3x16 Switch, all the > packet RX/TX is handled by Intel Ethernet Controller. So from application > point of view the data path is still the legacy Intel Ethernet Controller > X710/XXV710 PMD. Besides this, users can enable more acceleration > features by FPGA IP. > > Rosen Xu (7): > bus/ifpga: add AFU shared data > bus/ifpga: add function for AFU search by name > net/ipn3ke: add IPN3KE ethdev PMD driver > net/ipn3ke: add IPN3KE representor of PMD driver > net/ipn3ke: add IPN3KE TM of PMD driver > net/ipn3ke: add IPN3KE Flow of PMD driver > raw/ifpga_rawdev: add IPN3KE support for IFPGA Rawdev > > Tianfei zhang (7): > raw/ifpga_rawdev: clean up code for ifpga share code > raw/ifpga_rawdev: store private features in FME and Port > raw/ifpga_rawdev: add SPI and MAX10 device driver > raw/ifpga_rawdev: add I2C and at24 EEPROM driver > raw/ifpga_rawdev: add eth group driver > raw/ifpga_rawdev: add version description on README > raw/ifpga_rawdev: using prefix name for feature and its ops Getting following build error [1], some tm enums seems merged into main repo, can you please send a new version with fix? [1] .../drivers/net/ipn3ke/ipn3ke_tm.c: In function ‘ipn3ke_tm_tdrop_profile_check’: .../drivers/net/ipn3ke/ipn3ke_tm.c:816:20: error: storage size of ‘color’ isn’t known enum rte_tm_color color; ^~~~~ .../drivers/net/ipn3ke/ipn3ke_tm.c:843:15: error: ‘RTE_TM_GREEN’ undeclared (first use in this function); did you mean ‘RTE_COLOR_GREEN’? for (color = RTE_TM_GREEN; color <= RTE_TM_GREEN; color++) { ^~~~~~~~~~~~ RTE_COLOR_GREEN .../drivers/net/ipn3ke/ipn3ke_tm.c:843:15: note: each undeclared identifier is reported only once for each function it appears in .../drivers/net/ipn3ke/ipn3ke_tm.c:816:20: error: unused variable ‘color’ [-Werror=unused-variable] enum rte_tm_color color; ^~~~~ .../drivers/net/ipn3ke/ipn3ke_tm.c: In function ‘ipn3ke_tm_tdrop_profile_add’: .../drivers/net/ipn3ke/ipn3ke_tm.c:919:31: error: ‘RTE_TM_GREEN’ undeclared (first use in this function); did you mean ‘RTE_COLOR_GREEN’? min_th = profile->red_params[RTE_TM_GREEN].min_th; ^~~~~~~~~~~~ RTE_COLOR_GREEN cc1: all warnings being treated as errors make[4]: *** [.../mk/internal/rte.compile-pre.mk:116: ipn3ke_tm.o] Error 1 make[4]: *** Waiting for unfinished jobs....
> -----Original Message----- > From: Yigit, Ferruh > Sent: Saturday, April 13, 2019 0:53 > To: Xu, Rosen <rosen.xu@intel.com>; dev@dpdk.org > Cc: Zhang, Tianfei <tianfei.zhang@intel.com>; Wei, Dan > <dan.wei@intel.com>; Pei, Andy <andy.pei@intel.com>; Yang, Qiming > <qiming.yang@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Chen, > Santos <santos.chen@intel.com>; Zhang, Zhang <zhang.zhang@intel.com>; > Lomartire, David <david.lomartire@intel.com>; Hu, Jia <jia.hu@intel.com> > Subject: Re: [PATCH v7 00/14] Add patch set for IPN3KE > > On 4/10/2019 7:27 AM, Rosen Xu wrote: > > v7 updates: > > ========= > > - Fix Stephen comments > > > > v6 updates: > > ========== > > - Fix v5 comments > > - Fix TM Shaper rate issue > > > > v5 updates: > > ========== > > - Fix EXPERIMENTAL symbol definition issue > > > > v4 updates: > > ========== > > - Fix coding style issues > > > > v3 updates: > > ========== > > - Fix v2 comments > > - Update MAC BAR of AFU index get ops > > - Remove OPAE share code dependency of libfdt > > > > v2 updates: > > ========== > > - Fix v1 comments > > - Add support for 10G Base Line Design Bitstream > > - Add support for 25G Base Line Design Bitstream > > > > This patch set adds the support of a new net PMD, Intel® FPGA > > Programmable Acceleration Card N3000, also called ipn3ke. > > > > The ipn3ke PMD (librte_pmd_ipn3ke) provides poll mode driver support > > for Intel® FPGA PAC(Programmable Acceleration Card) N3000 based on the > > Intel Ethernet Controller X710/XXV710 and Intel Arria 10 FPGA. > > > > In this card, FPGA is an acceleration bridge between network interface > > and the Intel Ethernet Controller. Although both FPGA and Ethernet > > Controllers are connected to CPU with PCIe Gen3x16 Switch, all the > > packet RX/TX is handled by Intel Ethernet Controller. So from > > application point of view the data path is still the legacy Intel > > Ethernet Controller > > X710/XXV710 PMD. Besides this, users can enable more acceleration > > features by FPGA IP. > > > > Rosen Xu (7): > > bus/ifpga: add AFU shared data > > bus/ifpga: add function for AFU search by name > > net/ipn3ke: add IPN3KE ethdev PMD driver > > net/ipn3ke: add IPN3KE representor of PMD driver > > net/ipn3ke: add IPN3KE TM of PMD driver > > net/ipn3ke: add IPN3KE Flow of PMD driver > > raw/ifpga_rawdev: add IPN3KE support for IFPGA Rawdev > > > > Tianfei zhang (7): > > raw/ifpga_rawdev: clean up code for ifpga share code > > raw/ifpga_rawdev: store private features in FME and Port > > raw/ifpga_rawdev: add SPI and MAX10 device driver > > raw/ifpga_rawdev: add I2C and at24 EEPROM driver > > raw/ifpga_rawdev: add eth group driver > > raw/ifpga_rawdev: add version description on README > > raw/ifpga_rawdev: using prefix name for feature and its ops > > Getting following build error [1], some tm enums seems merged into main > repo, can you please send a new version with fix? > > > [1] > .../drivers/net/ipn3ke/ipn3ke_tm.c: In function > ‘ipn3ke_tm_tdrop_profile_check’: > .../drivers/net/ipn3ke/ipn3ke_tm.c:816:20: error: storage size of ‘color’ isn’t > known > enum rte_tm_color color; > ^~~~~ > .../drivers/net/ipn3ke/ipn3ke_tm.c:843:15: error: ‘RTE_TM_GREEN’ > undeclared (first use in this function); did you mean ‘RTE_COLOR_GREEN’? > for (color = RTE_TM_GREEN; color <= RTE_TM_GREEN; color++) { > ^~~~~~~~~~~~ > RTE_COLOR_GREEN > .../drivers/net/ipn3ke/ipn3ke_tm.c:843:15: note: each undeclared identifier > is reported only once for each function it appears in > .../drivers/net/ipn3ke/ipn3ke_tm.c:816:20: error: unused variable ‘color’ > [-Werror=unused-variable] > enum rte_tm_color color; > ^~~~~ > .../drivers/net/ipn3ke/ipn3ke_tm.c: In function > ‘ipn3ke_tm_tdrop_profile_add’: > .../drivers/net/ipn3ke/ipn3ke_tm.c:919:31: error: ‘RTE_TM_GREEN’ > undeclared (first use in this function); did you mean ‘RTE_COLOR_GREEN’? > min_th = profile->red_params[RTE_TM_GREEN].min_th; > ^~~~~~~~~~~~ > RTE_COLOR_GREEN > cc1: all warnings being treated as errors > make[4]: *** [.../mk/internal/rte.compile-pre.mk:116: ipn3ke_tm.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... > Fixed in v8.