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.
5887 Discussions

MSGDMA MM to ST stuck on busy

VCham
New Contributor I
925 Views

Hello,

I am having an issue where my MSGDMA engine completes 1 transaction and then hangs.

 

In my application I have a DDR memory connected via a SDRAM hard memory controller to the input of the MSGDMA, the output gets sent out over Ethernet. The MSGDMA has been configured according to the following picture.

 

During set up, I reset the MSGDMA, once it's done resetting, I enable interrupts.

During transactions, I check that the interrupt is cleared, the descriptor buffer is empty, and the MSGDMA is not busy.

If all is clear, I send a descriptor that enables the transaction complete interrupt, and I set the length to 1000 bytes.

Once the interrupt asserts, I clear it and prepare the second descriptor.

 

Using Signal Tap, I see that first descriptor goes through, the interrupt asserts, and gets cleared. The second descriptor gets setup properly and is sent but no interrupt asserts and status register shows that the MSGDMA is busy.

 

Any advice would be helpful.

0 Kudos
1 Reply
BoonT_Intel
Moderator
169 Views

Hi Sir,

Probably you can check the similar discussion as below:

https://forums.intel.com/s/question/0D50P00003yyTP8SAM/altera-dma-stuck-in-busy-state?language=en_US

https://forums.intel.com/s/question/0D50P00003yySC2SAM/msgdma-stuck-in-busy-state?language=en_US

Especially the first one which I believe in your case, you have enable burst mode and increase the BC.

Reply