bperez77 / xilinx_axidma

A zero-copy Linux driver and a userspace interface library for Xilinx's AXI DMA and VDMA IP blocks. These serve as bridges for communication between the processing system and FPGA programmable logic fabric, through one of the DMA ports on the Zynq processing system. Distributed under the MIT License.
MIT License
464 stars 227 forks source link

Added vdma oneway transfer to library, fixed passing of frame info #118

Open stephan-koster-enclustra opened 4 years ago

stephan-koster-enclustra commented 4 years ago

For applications where single frames need to be pulled in with VDMA, it may be required to have a single transfer function besides the continuously running video transfer. I added a new function to the library rather than change the signature of the existing axidma_oneway_transfer function in order to preserve backwards compatibility. In this work i also discovered a small bug in the dma layer where frame size information was not passed through for single transactions.

jasonisnotmyrealname commented 2 years ago

Hi, skoster, nice work. BTW, what platform do you use? ZynqMp or Zynq7000? Have you tested vdma loopback? @skoster-enclustra

stephan-koster-enclustra commented 2 years ago

The project in which i used this library has long since finished, so I'm a bit fuzzy on the details, but i think it was on zynqmp. We used and abused the axidma driver to inject images generated in software running on the PS. I'm pretty sure we created a loopback in firmware to test the driver.