unable to restart the AXI DMA after one transaction
I am trying to transfer the data from my custom IP to my processing system and I am using AXI DMA in simple DMA mode.
My custom IP would write 256 bytes of data to the DMA whenever I write an instruction to it and then waits. So I am configuring my DMA to receive 256 bytes of data by writing this value to S2MM_LENGTH ( offset 58h ). My perseption is that the DMA stops and I can do a second run by re-configuring it again.
The DMA Stops evert time as it should as it is writing a value of 0x00005011 into S2MM_DMASR, the 4th bit DMAIntErr is set to 1 indicating DMA Internal Error occured and DMA has halted. However is that I am trying to reset the DMA by forcing a 1 on 2nd bit of S2MM_DMACR for soft reset. The issue I am having is that the DMA is not going into reset and after observing in the XMD console I found out that I am unable to alter the values of S2MM_DMACR (offset 30h ). It is standing at a default value of 0x00010002 and I am unable to change it. I am successfully able to change the values in other AXI_DMA regesters except this one. I am unable to figure this out.
If any body can help me it would be really grateful.