cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mahathprabha
Visitor
Visitor
4,988 Views
Registered: ‎03-31-2011

xapp 1052 dma transfer

Hi,

I am new to the device drivers stuff.I am using the xapp1052 with ML605 board for the Bus master DMA.I need to write the driver code(modify xbmd.c) for a DMA read(reading it from the system memory and writing it to the device) to take place.I want to know how to send the physical address( obtained after using the  pci_map_single) to the device.Is it okay if I just write the TLP address,size and count to the DMA read TLP address,size and count registers and then set the Bus master enable bit in the control register to kick start the DMA transfer? Or should I do something else to do the DMA transfer?Please help me out...

 

 

0 Kudos
3 Replies
Anonymous
Not applicable
4,967 Views

Xapp 1052 attach a reference driver code.(both windows and Linux version). Could you learn something from it?

0 Kudos
btonner
Observer
Observer
4,914 Views
Registered: ‎05-03-2011

The flow as I understand it is that the size and count of the TLPS must be programmed and then the transfer may begin via that control bit.

 

That being said I could see it being a lot easier to initiate from the PC side to get the data if it is the case that you know it has been generated/is ready.

 

I was thinking of doing something similar but have not tried it yet, so I would be curious what happens when you try it ;)

0 Kudos
luisb
Xilinx Employee
Xilinx Employee
4,880 Views
Registered: ‎04-06-2010

The PC side can not generate requests of multiple DW.  It will only initiate requests of 1 DW.  The endpoint will have to initiate requests of multiple DWs.

0 Kudos