I'm using a 5510 and I'd like to know exactly what element is currently transferring in my DMA engine. I'd also like to know what frame I'm on. The documentation seems to indicate this is possible by reading registers DMACDEI and DMACDFI of the DMA channel of interest.
The problem, however, is that DMA transfers happen just fine, and my rings fill, and I get interrupts as I've requested, but reading DMACDEI and DMACDFI always returns 0. I've tried this with compatibility mode on and off in DMAGSCR. I've also tried reading DMACSEI and DMACSFI, but they're always 0... but that's expected.
I'm DMA'ing from the McBSP into SARAM to read a serial ADC. The source, (McBSP) is non-incrementing. The destination, SARAM, post increments. The reads are 32-bit. Again, all of the DMA happens perfectly. I just can't monitor it the way I'd like. I can read DMACDAC, and that updates correctly. But never DMACDEI, etc etc. Any ideas? Is this a known bug? Or am I not setting a bit that I need to set somewhere? What's the magic potion?
Thanks!