From: Moritz Fischer <mdf@kernel.org>
To: Tom Rix <trix@redhat.com>
Cc: Lizhi Hou <lizhi.hou@xilinx.com>,
linux-kernel@vger.kernel.org, "mdf@kernel.org" <mdf@kernel.org>,
linux-fpga@vger.kernel.org, maxz@xilinx.com,
sonal.santan@xilinx.com, yliu@xilinx.com,
michal.simek@xilinx.com, stefanos@xilinx.com,
devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH V8 XRT Alveo 00/14] XRT Alveo driver overview
Date: Wed, 21 Jul 2021 20:20:53 -0700 [thread overview]
Message-ID: <YPjkFYVZuQ7a0unk@epycbox.lan> (raw)
In-Reply-To: <73448caa-3282-b12f-c11b-4d41bf654f72@redhat.com>
Hi all,
On Tue, Jul 20, 2021 at 12:01:34PM -0700, Tom Rix wrote:
>
> On 7/19/21 2:26 PM, Lizhi Hou wrote:
> > Hello,
> >
> > This is V8 of patch series which adds management physical function driver
> > for Xilinx Alveo PCIe accelerator cards.
> > https://www.xilinx.com/products/boards-and-kits/alveo.html
> >
> > This driver is part of Xilinx Runtime (XRT) open source stack.
> >
> > XILINX ALVEO PLATFORM ARCHITECTURE
> >
> > Alveo PCIe FPGA based platforms have a static *shell* partition and a
> > partial re-configurable *user* partition. The shell partition is
> > automatically loaded from flash when host is booted and PCIe is enumerated
> > by BIOS. Shell cannot be changed till the next cold reboot. The shell
> > exposes two PCIe physical functions:
> >
> > 1. management physical function
> > 2. user physical function
> >
> > The patch series includes Documentation/xrt.rst which describes Alveo
> > platform, XRT driver architecture and deployment model in more detail.
> >
> > Users compile their high level design in C/C++/OpenCL or RTL into FPGA
> > image using Vitis tools.
> > https://www.xilinx.com/products/design-tools/vitis/vitis-platform.html
> >
> > The compiled image is packaged as xclbin which contains partial bitstream
> > for the user partition and necessary metadata. Users can dynamically swap
> > the image running on the user partition in order to switch between
> > different workloads by loading different xclbins.
> >
> > XRT DRIVERS FOR XILINX ALVEO
> >
> > XRT Linux kernel driver *xrt-mgmt* binds to management physical function of
> > Alveo platform. The modular driver framework is organized into several
> > platform drivers which primarily handle the following functionality:
> >
> > 1. Loading firmware container also called xsabin at driver attach time
> > 2. Loading of user compiled xclbin with FPGA Manager integration
> > 3. Clock scaling of image running on user partition
> > 4. In-band sensors: temp, voltage, power, etc.
> > 5. Device reset and rescan
> >
> > The platform drivers are packaged into *xrt-lib* helper module with well
> > defined interfaces. The module provides a pseudo-bus implementation for the
> > platform drivers. More details on the driver model can be found in
> > Documentation/xrt.rst.
> >
> > User physical function driver is not included in this patch series.
> >
> > LIBFDT REQUIREMENT
> >
> > XRT driver infrastructure uses Device Tree as a metadata format to discover
> > HW subsystems in the Alveo PCIe device. The Device Tree schema used by XRT
> > is documented in Documentation/xrt.rst.
> >
> > TESTING AND VALIDATION
> >
> > xrt-mgmt driver can be tested with full XRT open source stack which
> > includes user space libraries, board utilities and (out of tree) first
> > generation user physical function driver xocl. XRT open source runtime
> > stack is available at https://github.com/Xilinx/XRT
> >
> > Complete documentation for XRT open source stack including sections on
> > Alveo/XRT security and platform architecture can be found here:
> >
> > https://xilinx.github.io/XRT/master/html/index.html
> > https://xilinx.github.io/XRT/master/html/security.html
> > https://xilinx.github.io/XRT/master/html/platforms_partitions.html
> >
> > Changes since v7:
> > - Followed review comment to remove non fpga subdevices:
> > clock, clkfrq, ucs, ddr_calibaration, devctl and vsec
> > - Collapsed include/uapi/linux/xrt/*.h into include/uapi/linux/fpga-xrt.h
> > - Cleaned up comments in fpga-xrt.h
> > - Fixed spelling errors in xrt.rst
>
> Lizhi,
>
> Thanks, the changes look good.
>
> Moritz,
>
> I have no outstanding issues and I do not believe there are any from anyone
> else.
>
> Can this set be included in fpga-next ?
I'll get to it this weekend, apologies for the delay guys.
- Moritz
prev parent reply other threads:[~2021-07-22 3:20 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-19 21:26 [PATCH V8 XRT Alveo 00/14] XRT Alveo driver overview Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 01/14] Documentation: fpga: Add a document describing XRT Alveo drivers Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 02/14] fpga: xrt: driver metadata helper functions Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 03/14] fpga: xrt: xclbin file " Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 04/14] fpga: xrt: xrt-lib driver manager Lizhi Hou
2021-07-26 4:15 ` Moritz Fischer
2021-07-26 23:36 ` Lizhi Hou
2021-08-11 21:09 ` Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 05/14] fpga: xrt: group driver Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 06/14] fpga: xrt: char dev node helper functions Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 07/14] fpga: xrt: root driver infrastructure Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 08/14] fpga: xrt: " Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 09/14] fpga: xrt: management physical function driver (root) Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 10/14] fpga: xrt: main driver for management function device Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 11/14] fpga: xrt: fpga-mgr and region implementation for xclbin download Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 12/14] fpga: xrt: ICAP driver Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 13/14] fpga: xrt: partition isolation driver Lizhi Hou
2021-07-19 21:26 ` [PATCH V8 XRT Alveo 14/14] fpga: xrt: Kconfig and Makefile updates for XRT drivers Lizhi Hou
2021-07-20 19:01 ` [PATCH V8 XRT Alveo 00/14] XRT Alveo driver overview Tom Rix
2021-07-22 3:20 ` Moritz Fischer [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=YPjkFYVZuQ7a0unk@epycbox.lan \
--to=mdf@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-fpga@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lizhi.hou@xilinx.com \
--cc=maxz@xilinx.com \
--cc=michal.simek@xilinx.com \
--cc=robh@kernel.org \
--cc=sonal.santan@xilinx.com \
--cc=stefanos@xilinx.com \
--cc=trix@redhat.com \
--cc=yliu@xilinx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).