[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<DS7PR12MB60701E2A3B87BAD211CAD9AFCD272@DS7PR12MB6070.namprd12.prod.outlook.com>
Date: Mon, 18 Nov 2024 06:11:01 +0000
From: "Manne, Nava kishore" <nava.kishore.manne@....com>
To: "git (AMD-Xilinx)" <git@....com>, "mdf@...nel.org" <mdf@...nel.org>,
"hao.wu@...el.com" <hao.wu@...el.com>, "yilun.xu@...el.com"
<yilun.xu@...el.com>, "trix@...hat.com" <trix@...hat.com>, "robh@...nel.org"
<robh@...nel.org>, "saravanak@...gle.com" <saravanak@...gle.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-fpga@...r.kernel.org" <linux-fpga@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Subject: RE: [RFC v2 0/1]Add user space interaction for FPGA programming
Ping!
> -----Original Message-----
> From: Manne, Nava kishore <nava.kishore.manne@....com>
> Sent: Tuesday, October 29, 2024 2:48 PM
> To: git (AMD-Xilinx) <git@....com>; mdf@...nel.org; hao.wu@...el.com;
> yilun.xu@...el.com; trix@...hat.com; robh@...nel.org; saravanak@...gle.com;
> Manne, Nava kishore <nava.kishore.manne@....com>; linux-
> kernel@...r.kernel.org; linux-fpga@...r.kernel.org; devicetree@...r.kernel.org
> Subject: [RFC v2 0/1]Add user space interaction for FPGA programming
>
> The existing FPGA manager subsystem didn't have any user space interface (other
> than the status/state in sysfs) in Kernel. Basically, FPGAs are semiconductor
> devices that can be reprogrammed for desired hardware functionality.
>
> FPGAs can be reprogrammed at runtime with different types of logic and IPs as per
> user need and hence there is a need to use device tree overlays for
> removing/updating/adding the devices at runtime for the IPs/controllers that are
> present in FPGA. But we don't have any user interface in kernel for updating the
> device tree at runtime.
>
> Sometime back there was a series sent by Pantelis Antoniou
> (https://lore.kernel.org/lkml/1414528565-10907-4-git-send-email-
> pantelis.antoniou@...sulko.com/).
>
> This patch introduced a user interface configfs for Device Tree overlays, a method of
> dynamically altering the kernel's live Device Tree. However, this patch series was
> not accepted in mainline due to various concerns.
> For more details refer to this link:
> https://elinux.org/Frank%27s_Evolving_Overlay_Thoughts#issues_and_what_needs
> _to_be_completed_--_Not_an_exhaustive_list
>
> One of the major valid concerns that were raised with this configfs interface was
> security. It provides a generic interface (Not specific to the use cases) for modifying
> the live device tree.
>
> In order to configure/program the FPGA devices, All the major vendors of FPGA are
> using this configfs series as out-of-tree patch for configuring the FPGAs and there
> was never an attempt to introduce a generic interface to configure/program the
> FPGA in upstream and hence upstream kernel ended up in not having proper
> support for FPGAs configure/program.
> This series tries to address this gap of FPGA programmability by providing a new
> IOCTL interface to the user.
>
> The newly introduced IOCTL interface offers a generic and standardized mechanism
> for configuring or reprogramming FPGAs at runtime. It supports both Open Firmware
> (OF) and non-OF devices, utilizing vendor-specific callbacks—such as
> configuration+enumeration, removal, and status checks.
> To accommodate diverse device-specific configurations.
>
> This solution enhances FPGA runtime management, supporting various device types
> and vendors, while ensuring compatibility with the current FPGA configuration flow.
>
> Nava kishore Manne (1):
> fpga-region: Add generic IOCTL interface for runtime FPGA programming
>
> drivers/fpga/fpga-region.c | 110 +++++++++++++++++++++++++++++++
> drivers/fpga/of-fpga-region.c | 91 ++++++++++++++++++++++++-
> include/linux/fpga/fpga-region.h | 32 +++++++++ include/uapi/linux/fpga-region.h |
> 51 ++++++++++++++
> 4 files changed, 283 insertions(+), 1 deletion(-) create mode 100644
> include/uapi/linux/fpga-region.h
>
> --
> 2.34.1
Powered by blists - more mailing lists