From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 354302BD3 for ; Fri, 29 Mar 2019 16:59:58 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Mar 2019 08:59:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,284,1549958400"; d="scan'208";a="156992730" Received: from dpdkx8602.sh.intel.com ([10.67.110.200]) by fmsmga004.fm.intel.com with ESMTP; 29 Mar 2019 08:59:55 -0700 From: Rosen Xu 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 Date: Fri, 29 Mar 2019 23:58:04 +0800 Message-Id: <1553875099-166351-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 v2 00/15] Add patch set for IPN3KE 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: Fri, 29 Mar 2019 15:59:58 -0000 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): drivers/bus/ifpga: add AFU shared data drivers/bus/ifpga: add function for AFU search by name drivers/net/ipn3ke: add IPN3KE ethdev PMD driver drivers/net/ipn3ke: add IPN3KE representor of PMD driver drivers/net/ipn3ke: add IPN3KE TM of PMD driver drivers/net/ipn3ke: add IPN3KE Flow of PMD driver drivers/raw/ifpga_rawdev: add IPN3KE support for IFPGA Rawdev Zhang, Tianfei (8): raw/ifpga/base: clean up code for ifpga share code raw/ifpga/base: store private features in FME and Port list raw/ifpga/base: add SPI and MAX10 device driver raw/ifpga/base: add I2C and at24 EEPROM driver raw/ifpga/base: add eth group driver raw/ifpga/base: add device tree support raw/ifpga/base: add version description on README raw/ifpga/base: using prefix name "ifpga_" for feature and feature_ops data struct MAINTAINERS | 7 + config/common_base | 4 + doc/guides/nics/features/ipn3ke.ini | 55 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ipn3ke.rst | 98 + drivers/bus/ifpga/ifpga_bus.c | 13 + drivers/bus/ifpga/rte_bus_ifpga.h | 16 + drivers/bus/ifpga/rte_bus_ifpga_version.map | 1 + drivers/net/Makefile | 1 + drivers/net/ipn3ke/Makefile | 39 + drivers/net/ipn3ke/ipn3ke_ethdev.c | 737 +++++++ drivers/net/ipn3ke/ipn3ke_ethdev.h | 897 +++++++++ drivers/net/ipn3ke/ipn3ke_flow.c | 1400 +++++++++++++ drivers/net/ipn3ke/ipn3ke_flow.h | 86 + drivers/net/ipn3ke/ipn3ke_logs.h | 30 + drivers/net/ipn3ke/ipn3ke_rawdev_api.h | 62 + drivers/net/ipn3ke/ipn3ke_representor.c | 965 +++++++++ drivers/net/ipn3ke/ipn3ke_tm.c | 2082 ++++++++++++++++++++ drivers/net/ipn3ke/meson.build | 9 + 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 | 8 + 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 | 271 +++ drivers/raw/ifpga_rawdev/base/opae_intel_max10.h | 106 + 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 | 205 +- drivers/raw/ifpga_rawdev/ifpga_rawdev.h | 12 + drivers/raw/ifpga_rawdev/meson.build | 6 +- mk/rte.app.mk | 3 +- usertools/dpdk-devbind.py | 4 +- 61 files changed, 10490 insertions(+), 429 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 -- 1.8.3.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 52204A05D3 for ; Fri, 29 Mar 2019 17:00:00 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0CDC737A2; Fri, 29 Mar 2019 17:00:00 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 354302BD3 for ; Fri, 29 Mar 2019 16:59:58 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Mar 2019 08:59:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,284,1549958400"; d="scan'208";a="156992730" Received: from dpdkx8602.sh.intel.com ([10.67.110.200]) by fmsmga004.fm.intel.com with ESMTP; 29 Mar 2019 08:59:55 -0700 From: Rosen Xu 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 Date: Fri, 29 Mar 2019 23:58:04 +0800 Message-Id: <1553875099-166351-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="UTF-8" Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 00/15] Add patch set for IPN3KE 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190329155804.0Cci7NzNQnDSxIfXmQzzcTUl-VqRh9BWJDPE639Epck@z> 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): drivers/bus/ifpga: add AFU shared data drivers/bus/ifpga: add function for AFU search by name drivers/net/ipn3ke: add IPN3KE ethdev PMD driver drivers/net/ipn3ke: add IPN3KE representor of PMD driver drivers/net/ipn3ke: add IPN3KE TM of PMD driver drivers/net/ipn3ke: add IPN3KE Flow of PMD driver drivers/raw/ifpga_rawdev: add IPN3KE support for IFPGA Rawdev Zhang, Tianfei (8): raw/ifpga/base: clean up code for ifpga share code raw/ifpga/base: store private features in FME and Port list raw/ifpga/base: add SPI and MAX10 device driver raw/ifpga/base: add I2C and at24 EEPROM driver raw/ifpga/base: add eth group driver raw/ifpga/base: add device tree support raw/ifpga/base: add version description on README raw/ifpga/base: using prefix name "ifpga_" for feature and feature_ops data struct MAINTAINERS | 7 + config/common_base | 4 + doc/guides/nics/features/ipn3ke.ini | 55 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ipn3ke.rst | 98 + drivers/bus/ifpga/ifpga_bus.c | 13 + drivers/bus/ifpga/rte_bus_ifpga.h | 16 + drivers/bus/ifpga/rte_bus_ifpga_version.map | 1 + drivers/net/Makefile | 1 + drivers/net/ipn3ke/Makefile | 39 + drivers/net/ipn3ke/ipn3ke_ethdev.c | 737 +++++++ drivers/net/ipn3ke/ipn3ke_ethdev.h | 897 +++++++++ drivers/net/ipn3ke/ipn3ke_flow.c | 1400 +++++++++++++ drivers/net/ipn3ke/ipn3ke_flow.h | 86 + drivers/net/ipn3ke/ipn3ke_logs.h | 30 + drivers/net/ipn3ke/ipn3ke_rawdev_api.h | 62 + drivers/net/ipn3ke/ipn3ke_representor.c | 965 +++++++++ drivers/net/ipn3ke/ipn3ke_tm.c | 2082 ++++++++++++++++++++ drivers/net/ipn3ke/meson.build | 9 + 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 | 8 + 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 | 271 +++ drivers/raw/ifpga_rawdev/base/opae_intel_max10.h | 106 + 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 | 205 +- drivers/raw/ifpga_rawdev/ifpga_rawdev.h | 12 + drivers/raw/ifpga_rawdev/meson.build | 6 +- mk/rte.app.mk | 3 +- usertools/dpdk-devbind.py | 4 +- 61 files changed, 10490 insertions(+), 429 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 -- 1.8.3.1