FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5890 Discussions

Chaining DMA Reprogramming Issue

Altera_Forum
Honored Contributor II
804 Views

Hi, 

 

I tried Altera's Chaining DMA in simulation and found some trouble in reconfiguring the DMA. I tried simple 128-Bytes DMA read transfer with one Descriptor only. I programmed the following BAR2 registers in same sequence: 

 

1. 0x10 = 32'h0002_0001; // Number of Desc = 1 and MSI enabled 

2. 0x14 = 32'h0; // using 32-bit address scheme 

3. 0x18 = xxxxxx; // some Descriptor base address  

4. 0x1C= 0; 

 

I received a correct Descriptor read request followed by a proper descriptor and then a data read request followed by 128-bytes of data. After complete data transfer RP finally received an MSI Interrupt. 

 

Now the problem is, After receiving MSI Interrupt when I repeat the same procedure with each and every thing same as done above (starting from BAR2 address 0x10 till 0x1c with same values) Endpoint dont initiate any DMA transaction. Even the EP never issue the descriptor read request again. 

 

Is there any other register that should be programmed by the host to tell DMA to start DMA transaction again Or is there any sequence of register writing that should be strictly followed. 

 

Any kind of help in this regard will be highly appreciated.  

 

Thanks 

Ali Umair
0 Kudos
0 Replies
Reply