AMD-Xilinx XDMA Subsystem Driver Still Awaiting The Mainline Linux Kernel
While the Xilinx Alveo PCIe accelerator cards have been around for several years and there has been ongoing Linux driver work equally as long, one element of the support has remained elusive from the upstream Linux kernel: the XDMA subsystem driver.
The Xilinx engineers (now part of AMD) as of this month are now up to their eleventh iteration of the kernel driver patches for implementing the Xilinx XDMA subsystem as used by the Alveo PCIe cards. The AMD-Xilinx XDMA subsystem is used for high performance data transfers between the host memory and the Alveo PCIe card's DMA subsystem. In addition to being used by the Alveo cards, the Versal ACAP DMA and Bridge subsystems also make use of XDMA.
Most of the recent iterations to the AMD-Xilinx XDMA Linux driver patches have been simple code clean-ups and fixes and adding tested-by tags. Sadly though this open-source driver mainlining seems to be held up by lack of code reviewers in getting it across the finish line.
Martin Tůma of Digiteq Automotive raised concerns on the mailing list over the lack of movement on getting the XDMA driver upstreamed. Martin has been working on a Digiteq MGB4 driver for that modular frame-grabber PCIe card designed for automotive video interfaces. The MGB4 relies on a Xilinx FPGA and in turn this V4L2 driver relies on the XDMA subsystem. Tůma wrote on the kernel mailing list:
It doesn't take much searching either to find other developers inquiring about the Xilinx XDMA Linux driver support/status for other use-cases. Aside from using the recent v11 patches, AMD-Xilinx continues maintaining a GitHub repository with their various driver patches as well, but hopefully in 2023 we'll finally see more of this work upstreamed.
The Xilinx engineers (now part of AMD) as of this month are now up to their eleventh iteration of the kernel driver patches for implementing the Xilinx XDMA subsystem as used by the Alveo PCIe cards. The AMD-Xilinx XDMA subsystem is used for high performance data transfers between the host memory and the Alveo PCIe card's DMA subsystem. In addition to being used by the Alveo cards, the Versal ACAP DMA and Bridge subsystems also make use of XDMA.
Most of the recent iterations to the AMD-Xilinx XDMA Linux driver patches have been simple code clean-ups and fixes and adding tested-by tags. Sadly though this open-source driver mainlining seems to be held up by lack of code reviewers in getting it across the finish line.
Martin Tůma of Digiteq Automotive raised concerns on the mailing list over the lack of movement on getting the XDMA driver upstreamed. Martin has been working on a Digiteq MGB4 driver for that modular frame-grabber PCIe card designed for automotive video interfaces. The MGB4 relies on a Xilinx FPGA and in turn this V4L2 driver relies on the XDMA subsystem. Tůma wrote on the kernel mailing list:
Could someone from the dmaengine maintainers please give this patch an attention? Despite several resends it remains unnoticed for two months and besides the fact, that its authors would like to have it included it also blocks the inclusion of our mgb4 v4l2 driver that is based on XDMA. The driver works fine with our HW, the API is quiet standard and sufficient for third-party PCIe cards based on XDMA and there are IMHO no unresolved objections against the code. Thanks for any help
It doesn't take much searching either to find other developers inquiring about the Xilinx XDMA Linux driver support/status for other use-cases. Aside from using the recent v11 patches, AMD-Xilinx continues maintaining a GitHub repository with their various driver patches as well, but hopefully in 2023 we'll finally see more of this work upstreamed.
1 Comment