I have the exact same problem.
The DMA stucks with 4 Bytes left in the Length-Register. This will end in an infinite loop.
Are there any issues in the Q10.1 DMA?
------------ code -----------------
IOWR_32DIRECT(DMA_0_BASE,0x04,FIFO_INTERFACE_BASE); //Readaddress ist FIFO
IOWR_32DIRECT(DMA_0_BASE,0x08,ALTMEMDDR_0_BASE); //Writeadress
IOWR_32DIRECT(DMA_0_BASE,0x0c,ALTMEMDDR_0_SPAN); //Length
IOWR_32DIRECT(DMA_0_BASE,0x18,0x18c); //Start Read from Constant adress, write to ddr
while((IORD_32DIRECT(DMA_0_BASE,0) & 0x01) != 0x01); //Test Doine-Bit
---------------- code end --------------------
Its an Memory Filler... My Programm and data is in onchip ram.
Why does the DMA ends with rest length 4?
Marco