AnsweredAssumed Answered

When are DMA callbacks called?

Question asked by gpetrowitsch on Jun 22, 2010
Latest reply on Jun 24, 2010 by gpetrowitsch

Hi all,


I'm using a SPORT in conjunction with DMA to output audio data.

To enable me mixing new incoming audio streams with a currently

playing stream, I chop the streams into small portions of 25ms duration.

Unfortunately, when I do this, I can hear a 40Hz hum, which is due to

the small periods of time it takes me to write another buffer to the DMA.


Now I tried to first chain two 25ms-chunks to the DMA and each time, the first of

the two is completed by the DMA write another one until all have been processed.

Unfortunately, it seems, that I don't get a callback for each chunk, but only

if the last one has been processed.


How can I make the DMA call the callback each time one of the chained

sub-buffers has been processed?


I'm using mode ADI_DEV_MODE_CHAINED and buffer type ADI_DEV_1D.

I chain the small 25ms-chunks with adi_dev_Write calls.


Thanks & kind regards,