[dpdk-dev] [PATCH v3 0/6] Introduce Intel FPGA BUS
Bruce Richardson
bruce.richardson at intel.com
Wed Mar 28 11:37:09 CEST 2018
On Wed, Mar 28, 2018 at 05:29:50PM +0800, Rosen Xu wrote:
> Intel FPGA BUS in DPDK
> -------------------------
>
> This patch set introduces Intel FPGA BUS support in DPDK.
>
> v3 updates:
> ===========
> - Remove all modifications of bus scan and probe
> - FPGA BUS Scan is trigged by hotplug of Rawdev
> - Took Modifications of comments
> - Move AFU Device to IFPGA
> - FPGA BUS Scan depend on it¡¯s IFPGA Rawdev
> - Add Build Macros for FPGA BUS and IFPGA Rawdev
>
> Questions
> =========
> Why not PCI Bus?
> All of the AFUs of one FPGA may share same PCI BDF.
> Why not vdev Bus?
> Because AFUs depend on Rawdev, and it's hardware specpic.
>
> 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.
>
> 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. FPGA-BUS scan is called, but AFU
> depend on Rawdev, so this scan doesn't trig AFU device create.
> - AFU Scan(2nd Scan) bind DPDK Driver to FPGA Partial-Bitstream.
> This scan is trigged by hotplug of IFPGA Rawdev probe, in this
> scan the AFUs will be created and their dirves are also probed.
>
> 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.
>
>
> 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.
>
>
> Rosen Xu (6):
> Add Intel FPGA BUS Command Parse Code
> config/common_base: Add Intel FPGA Build Configuration Macro
> mk/rte.app.mk: Add Intel FPGA Bus Build Configuration Macro To App
> Script
> drivers/bus: Add Intel FPGA Bus Lib Code
> drivers/raw/ifpga_rawdev: Add Intel FPGA Rawdev Driver Code
> drivers/raw/ifpga_rawdev: Add Intel FPGA OPAE Share Code
>
> config/common_base | 6 +
> drivers/bus/Makefile | 1 +
Forgot to mention this on previous versions, but please also include
changes to add this to the meson build too.
/Bruce
More information about the dev
mailing list