Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Altera_Forum
Honored Contributor I
927 Views

PCIe DMA not working for addresses above 4GB

HI, 

I am implementing a KMDF driver for Altera Stratix4 PCIe board on Windows7 64 bit PC ( Both OS and processor are 64 bit). The devices needs that I create a Descriptor Table(DT) in a non paged memory that contains the Phy address and length of each page of the DMA buffer. Then the base physical address of this Descriptor Table is written to a device register and the device starts DMA.  

 

 

I see that dma works only when phy address of both buffer and the DT are below 4GB( ie.. Highpart of the phy address is 0) . When either one of these address are above 4GB the device registers indicate that data is transferred but the data does not arrive to PC (in case of Dev to Host).  

 

 

The device manual says that it is capable of 64 bit addressing. So do i need to do anything in the driver or host side to make the 64 bit addresses work? 

 

 

Thanks in advance.
0 Kudos
2 Replies
Altera_Forum
Honored Contributor I
44 Views

A master in SOPC Builder or Qsys can only access up to 4GB. This is due to the address width in the Avalon spec only supporting up to 32 bits.

Altera_Forum
Honored Contributor I
44 Views

You need to use the streaming interface for 64bit transfers.

Reply