All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Gaëtan Rivet" <gaetan.rivet@6wind.com>
To: Rosen Xu <rosen.xu@intel.com>
Cc: dev@dpdk.org, declan.doherty@intel.com,
	bruce.richardson@intel.com, shreyansh.jain@nxp.com,
	tianfei.zhang@intel.com, hao.wu@intel.com
Subject: Re: [PATCH V2 0/5] Introduce Intel FPGA BUS
Date: Wed, 21 Mar 2018 11:00:29 +0100	[thread overview]
Message-ID: <20180321100029.iexpofqodwggebwf@bidouze.vm.6wind.com> (raw)
In-Reply-To: <1521618694-140757-1-git-send-email-rosen.xu@intel.com>

Hi Rosen,

Thanks for sending the new version.

However, you still did not use the --in-reply-to option to link this
thread to the previous one.

Please, do so in your future submission.

On Wed, Mar 21, 2018 at 03:51:29PM +0800, Rosen Xu wrote:
> Intel FPGA BUS in DPDK
> -------------------------
> 
> This patch set introduces Intel FPGA BUS support in DPDK.
> 
> Motivation
> ==========
> 
> FPGA is used more and more widely in Cloud and NFV, one primary reason is
> that FPGA not only provide ASIC performance but also it's more flexible 
> than ASIC. FPGA use Partial Reconfigure(PR) Parts of Bitstream to achieve 
> its flexibility. Another reason is that one FPGA can be shared 
> by different Users, and each User can use some of AFUs of One FPGA.
> 
> That means One FPGA Device Bitstream is divided into many Parts of 
> Bitstream(each Part of Bitstream is defined as AFU-Accelerated 
> Function Unit), and each AFU is a Hardware Acceleration Unit and 
> it can dynamically Reload respectively.
> 
> Scope
> =====
> 
> The Intel FPGA BUS implementation is target towards various FPGA Devices 
> use PR to provide many Acceleration Function. Specific PMDs may also 
> bind to its AFU. And Applications don't care they are using ASIC 
> Acceleration or FPGA AFU Acceleration.
> 
> Proposed Solution
> =================
>  - Involve Rawdev to take FPGA Partial Configuration(Download/PR)
>  - Defined FPGA-BUS for Acceleration Drivers of AFUs
>    - FPGA PCI Scan(1st Scan) follows DPDK UIO/VFIO PCI Scan Process, 
>      probe Intel FPGA Rawdev Driver
>    - AFU Scan(2nd Scan) bind DPDK Driver to FPGA Partial-Bitstream
> 
> Status
> =====
> With integrating Intel PSG FPGA Software Stack OPAE(Open Programmable 
> Acceleration Engine) Share Code, Intel FPGA BUS runs well in 
> Intel PSG FPGA Cards.
> 
> Patch set Information
> ====================
> 
> This patch set includes 6 patches:
> * 0 : Introduce the Intel FPGA BUS library and enable its compilation.
> * 1 : Adds command parse code, for start-up application 
>       with Intel FPGA BUS.
> * 2 : Adds Driver Probe Code, for AFU Drivers should probed 
>       after PCI Drivers.
> * 3 : Adds Intel FPGA BUS library code, for AFU Device scan
>       and AFU Drivers probe.
> * 4 : Adds a Intel FPGA rawdevice driver, for FPGA Device Management 
>       such as PR.
> * 5 : Adds Intel OPAE(Open Programmable Acceleration Engine) Share Code, 
>       it's Intel FPGA Software Stack.
> 
> Rosen Xu (5):
>   Add Intel FPGA BUS Command Parse Code
>   Add Intel FPGA BUS Probe Code
>   Add Intel FPGA BUS Lib Code
>   Add Intel FPGA BUS Rawdev Code
>   Add Intel OPAE Share Code
> 
>  drivers/bus/ifpga/Makefile                         |   64 +
>  drivers/bus/ifpga/ifpga_bus.c                      |  573 +++++++
>  drivers/bus/ifpga/ifpga_common.c                   |  154 ++
>  drivers/bus/ifpga/ifpga_common.h                   |   25 +
>  drivers/bus/ifpga/ifpga_logs.h                     |   32 +
>  drivers/bus/ifpga/rte_bus_ifpga.h                  |  141 ++
>  drivers/bus/ifpga/rte_bus_ifpga_version.map        |    8 +
>  drivers/raw/Makefile                               |    1 +
>  drivers/raw/ifpga_rawdev/Makefile                  |   63 +
>  drivers/raw/ifpga_rawdev/base/Makefile             |   54 +
>  drivers/raw/ifpga_rawdev/base/ifpga_api.c          |  543 +++++++
>  drivers/raw/ifpga_rawdev/base/ifpga_api.h          |   77 +
>  drivers/raw/ifpga_rawdev/base/ifpga_compat.h       |   84 +
>  drivers/raw/ifpga_rawdev/base/ifpga_defines.h      | 1696 ++++++++++++++++++++
>  drivers/raw/ifpga_rawdev/base/ifpga_enumerate.c    |  861 ++++++++++
>  drivers/raw/ifpga_rawdev/base/ifpga_enumerate.h    |   38 +
>  drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.c  |  340 ++++
>  drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h  |  197 +++
>  drivers/raw/ifpga_rawdev/base/ifpga_fme.c          |  763 +++++++++
>  drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c    |  328 ++++
>  drivers/raw/ifpga_rawdev/base/ifpga_fme_error.c    |  430 +++++
>  drivers/raw/ifpga_rawdev/base/ifpga_fme_iperf.c    |  742 +++++++++
>  drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c       |  395 +++++
>  drivers/raw/ifpga_rawdev/base/ifpga_hw.h           |  152 ++
>  drivers/raw/ifpga_rawdev/base/ifpga_port.c         |  730 +++++++++
>  drivers/raw/ifpga_rawdev/base/ifpga_port_error.c   |  236 +++
>  drivers/raw/ifpga_rawdev/base/opae_debug.c         |  126 ++
>  drivers/raw/ifpga_rawdev/base/opae_debug.h         |   46 +
>  drivers/raw/ifpga_rawdev/base/opae_hw_api.c        |  389 +++++
>  drivers/raw/ifpga_rawdev/base/opae_hw_api.h        |  276 ++++
>  drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.c  |  151 ++
>  drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.h  |  293 ++++
>  drivers/raw/ifpga_rawdev/base/opae_osdep.h         |  111 ++
>  .../ifpga_rawdev/base/osdep_raw/osdep_generic.h    |  104 ++
>  .../ifpga_rawdev/base/osdep_rte/osdep_generic.h    |   72 +
>  drivers/raw/ifpga_rawdev/ifpga_rawdev.c            |  486 ++++++
>  drivers/raw/ifpga_rawdev/ifpga_rawdev.h            |   38 +
>  drivers/raw/ifpga_rawdev/ifpga_rawdev_example.c    |   99 ++
>  .../ifpga_rawdev/rte_pmd_ifpga_rawdev_version.map  |    4 +
>  lib/librte_eal/common/eal_common_bus.c             |   14 +-
>  lib/librte_eal/common/eal_common_options.c         |    8 +-
>  lib/librte_eal/common/eal_options.h                |    2 +
>  42 files changed, 10944 insertions(+), 2 deletions(-)
>  create mode 100644 drivers/bus/ifpga/Makefile
>  create mode 100644 drivers/bus/ifpga/ifpga_bus.c
>  create mode 100644 drivers/bus/ifpga/ifpga_common.c
>  create mode 100644 drivers/bus/ifpga/ifpga_common.h
>  create mode 100644 drivers/bus/ifpga/ifpga_logs.h
>  create mode 100644 drivers/bus/ifpga/rte_bus_ifpga.h
>  create mode 100644 drivers/bus/ifpga/rte_bus_ifpga_version.map
>  create mode 100644 drivers/raw/ifpga_rawdev/Makefile
>  create mode 100644 drivers/raw/ifpga_rawdev/base/Makefile
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_api.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_api.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_compat.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_defines.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_enumerate.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_feature_dev.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_dperf.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_error.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_iperf.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_fme_pr.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_hw.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_port.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/ifpga_port_error.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_debug.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_debug.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_hw_api.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_hw_api.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.c
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_ifpga_hw_api.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/opae_osdep.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/osdep_raw/osdep_generic.h
>  create mode 100644 drivers/raw/ifpga_rawdev/base/osdep_rte/osdep_generic.h
>  create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev.c
>  create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev.h
>  create mode 100644 drivers/raw/ifpga_rawdev/ifpga_rawdev_example.c
>  create mode 100644 drivers/raw/ifpga_rawdev/rte_pmd_ifpga_rawdev_version.map
> 
> -- 
> 1.8.3.1
> 

-- 
Gaëtan Rivet
6WIND

      parent reply	other threads:[~2018-03-21 10:00 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-21  7:51 [PATCH V2 0/5] Introduce Intel FPGA BUS Rosen Xu
2018-03-21  7:51 ` [PATCH V2 1/5] Add Intel FPGA BUS Command Parse Code Rosen Xu
2018-03-21  7:51 ` [PATCH V2 2/5] Add Intel FPGA BUS Probe Code Rosen Xu
2018-03-21  9:07   ` Shreyansh Jain
2018-03-21  9:10     ` Shreyansh Jain
2018-03-21 10:05   ` Gaëtan Rivet
2018-03-21  7:51 ` [PATCH V2 3/5] Add Intel FPGA BUS Lib Code Rosen Xu
2018-03-21  9:28   ` Shreyansh Jain
2018-03-21 10:20   ` Gaëtan Rivet
2018-03-21 13:35     ` Bruce Richardson
2018-03-21 14:02       ` Shreyansh Jain
2018-03-21 14:06       ` Xu, Rosen
2018-03-21 14:14       ` Gaëtan Rivet
2018-03-21 14:31         ` Gaëtan Rivet
2018-03-21 15:41           ` Bruce Richardson
2018-03-21 16:21             ` Gaëtan Rivet
2018-03-21  7:51 ` [PATCH V2 4/5] Add Intel FPGA BUS Rawdev Code Rosen Xu
2018-03-21  7:51 ` [PATCH V2 5/5] Add Intel OPAE Share Code Rosen Xu
2018-03-21 10:00 ` Gaëtan Rivet [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180321100029.iexpofqodwggebwf@bidouze.vm.6wind.com \
    --to=gaetan.rivet@6wind.com \
    --cc=bruce.richardson@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=hao.wu@intel.com \
    --cc=rosen.xu@intel.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=tianfei.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.