I have set up QDMA to read a 16-bit port 16 times and transfer the readings to memory. The transfer operation works as expected. The completion of transfer is polled by checking the IPR, rather than using interrupt.
I observed, however, that timing of other interrupts, seemingly interrupt latency is affected by QDMA. I verified this by compiling in and out the QDMA code. Is this expected behavior?
I perform the following before initiating QDMA:
//clear event missed status bit
HWREG(QEMCR) = 0x00000001;
//clear interrupt status
HWREG(ICR) = 0x00000001;
//clear interrupt enable
HWREG(IECR) = 0x00000001;
// trigger DMA
data_PaRAM.opt = 0x0010000C; //TCINTEN=1, STATIC=1, AB synchronization