RE: [RFC v2 0/1]Add user space interaction for FPGA programming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping!

> -----Original Message-----
> From: Manne, Nava kishore <nava.kishore.manne@xxxxxxx>
> Sent: Tuesday, October 29, 2024 2:48 PM
> To: git (AMD-Xilinx) <git@xxxxxxx>; mdf@xxxxxxxxxx; hao.wu@xxxxxxxxx;
> yilun.xu@xxxxxxxxx; trix@xxxxxxxxxx; robh@xxxxxxxxxx; saravanak@xxxxxxxxxx;
> Manne, Nava kishore <nava.kishore.manne@xxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; linux-fpga@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxx/).
> 
> 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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux