mbox series

[v9,00/14] Add patch set for IPN3KE

Message ID 1555384671-42092-1-git-send-email-rosen.xu@intel.com (mailing list archive)
Headers
Series Add patch set for IPN3KE |

Message

Xu, Rosen April 16, 2019, 3:17 a.m. UTC
  v9 updates:
=========
 - Fix v8 comments
 - 02/14 patch check error, just follow Ferruh's v8 comments

v8 updates:
=========
 - Fix meter color definition replacement

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


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                                        |    7 +
 config/common_base                                 |    4 +
 doc/guides/nics/features/ipn3ke.ini                |   55 +
 doc/guides/nics/index.rst                          |    1 +
 doc/guides/nics/ipn3ke.rst                         |  107 +
 drivers/bus/ifpga/ifpga_bus.c                      |   13 +
 drivers/bus/ifpga/rte_bus_ifpga.h                  |   16 +
 drivers/bus/ifpga/rte_bus_ifpga_version.map        |    9 +
 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            |  244 ++-
 drivers/raw/ifpga_rawdev/ifpga_rawdev.h            |   12 +
 drivers/raw/ifpga_rawdev/meson.build               |    6 +-
 mk/rte.app.mk                                      |    1 +
 usertools/dpdk-devbind.py                          |    4 +-
 61 files changed, 10262 insertions(+), 428 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

Ferruh Yigit April 16, 2019, 9 a.m. UTC | #1
On 4/16/2019 4:17 AM, Rosen Xu wrote:
> v9 updates:
> =========
>  - Fix v8 comments
>  - 02/14 patch check error, just follow Ferruh's v8 comments
> 
> v8 updates:
> =========
>  - Fix meter color definition replacement
> 
> 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
> 
> 
> 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

Series applied to dpdk-next-net/master, thanks.

Can you please send a release notes patch, that updates:

- introduce new ipn3ke net driver
- updates on ifpga_rawdev

Thanks,
ferruh
  
Ferruh Yigit April 16, 2019, 9:05 a.m. UTC | #2
On 4/16/2019 10:00 AM, Ferruh Yigit wrote:
> Series applied to dpdk-next-net/master, thanks.
> 
> Can you please send a release notes patch, that updates:
> 
> - introduce new ipn3ke net driver
> - updates on ifpga_rawdev

btw, after the patch has been merged to main repo, can you also send a web patch
to announce the new net PMD in dpdk.org web site.
  
Xu, Rosen April 16, 2019, 9:06 a.m. UTC | #3
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Tuesday, April 16, 2019 17:05
> 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: [dpdk-dev] [PATCH v9 00/14] Add patch set for IPN3KE
> 
> On 4/16/2019 10:00 AM, Ferruh Yigit wrote:
> > Series applied to dpdk-next-net/master, thanks.
> >
> > Can you please send a release notes patch, that updates:
> >
> > - introduce new ipn3ke net driver
> > - updates on ifpga_rawdev
> 
> btw, after the patch has been merged to main repo, can you also send a web
> patch to announce the new net PMD in dpdk.org web site.

Okay
  
Xu, Rosen April 16, 2019, 9:06 a.m. UTC | #4
> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Tuesday, April 16, 2019 17:00
> 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: [dpdk-dev] [PATCH v9 00/14] Add patch set for IPN3KE
> 
> On 4/16/2019 4:17 AM, Rosen Xu wrote:
> > v9 updates:
> > =========
> >  - Fix v8 comments
> >  - 02/14 patch check error, just follow Ferruh's v8 comments
> >
> > v8 updates:
> > =========
> >  - Fix meter color definition replacement
> >
> > 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
> >
> >
> > 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
> 
> Series applied to dpdk-next-net/master, thanks.

Thanks.

> Can you please send a release notes patch, that updates:
> 
> - introduce new ipn3ke net driver
> - updates on ifpga_rawdev

Okay.
 
> Thanks,
> ferruh