My DMA is configured with a debug mode in which it sends an a simple increasing counter value in the format I wish to receive: an IRQ every 32Bytes (half-frame). it transfers 32KBytes of data, and then restarts from it's original offset. This is tested in bare-metal mode as working.
I wrote my handler as described in the high-frequency interrupts described here:
http://www.alsa-project.org/~tiwai/writing-an-alsa-driver/ch05s07.html
http://www.alsa-project.org/~tiwai/writing-an-alsa-driver/ch05s07.html
My data is valid until 1/4 buffer full, then it interleaves stale (lower numbers) in, replacing the desired numbers. It's sporadic, and it appears to repeat, as if ALSA never returns to the 0-offset of dma_area. I've dumped a snip below. If the formatting is lost, I can post a google drive or an image somewhere.
Thanks,
Rob
------------------------------------------------------------------------------
_______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user