cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
cyberdevinda
Adventurer
Adventurer
6,977 Views
Registered: ‎10-24-2007

Xvdma Driver

Hi all,

 

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?

 

Thanks.

 

 

0 Kudos
2 Replies
ckohn
Xilinx Employee
Xilinx Employee
6,963 Views
Registered: ‎12-08-2011

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.

0 Kudos
radheycs
Visitor
Visitor
6,892 Views
Registered: ‎01-25-2013

xvdma.c is built as a wrapper for VDMA kernel driver.

Required as it provides IOCTLs to user application to control the VDMA operations.

 

i.e 

case XVDMA_START_TRANSFER:

case XVDMA_STOP_TRANSFER:

 

Or in other words , works as a bridge between base VDMA kernel driver and user application .

 

Info-

xvdma.c wrapper is not currently  part  of standard git tree , added after applying patch of Zynq Base TRD.

 

0 Kudos