12-12-2012 01:42 AM
In this Xilinx Base TRD (http://wiki.xilinx.com/zynq-base-trd-14-3), there is a new VDMA wrapper driver called XVDMA (xvdma.c). As far I can see, it has the same functionality as the original VDMA driver (xilinx_dma.c). Why is this required?
12-12-2012 09:22 AM
It has been this way for all TRD releases. There is a common Xilinx DMA driver (which is shared among different DMA flavors) and on top of that a VDMA driver that adds VDMA specific functionality. We changed the architecture of the various DMA drivers recently, such that every DMA flavor has its own dedicated and self-contained driver. See http://git.xilinx.com/?p=linux-xlnx.git;a=commit;h=60ea42affdc49e30cc41a12ff50b53c4871714fe for details. The 14.4 TRD release will use this re-architected driver.
01-27-2013 11:20 PM
xvdma.c is built as a wrapper for VDMA kernel driver.
Required as it provides IOCTLs to user application to control the VDMA operations.
Or in other words , works as a bridge between base VDMA kernel driver and user application .
xvdma.c wrapper is not currently part of standard git tree , added after applying patch of Zynq Base TRD.