I've read all of the documentation I can find on the Kinetis eDMA module (I'm specifically using a K22F part) but I can't find a good description of the hardware request handling.
My question is this: Assuming the eDMA module is using round robin mode, if you have a DMA channel configured to fill the FIFO on a peripheral like the I2S/SAI module and a single minor loop doesn't fill the FIFO past the watermark, or if the SAI FIFO drains a byte during the transfer and the watermark isn't reached, is the new DMA request handled immediately by the channel with a new iteration, or does it wait until the round robin scan comes back around to that channel?
I'm attempting an unusual channel linking setup and I need to make sure the first channel always completes exactly one minor loop before each request on the second channel.
Hi Scott,
"Channel priorities are treated as equal, that is, constantly rotating, when Round-Robin Arbitration mode is selected." So, I think since current minor loop is finished, eDMA will service next request source until the round robin scan comes back around to that channel.
Regards,
Jing