What is the difference between using DMA scatter and gather and channel linking?
Does scatter and gather require an additional DMA service request to continue with the second TCD?
I am doing some tests on MPC5746R (triggering DMA transfers from eTPU) and as far as I understand with channel linking I can perform e g two transfers (two eTPU variables) on one service request whereas with scatter and gather only one transfer is performed per DMA service request, is this correct?
Hi, Channel linking means that after end of major loop of certain channel, another channel is triggered.
Scatter-gather is more universal feature but brings additional transfer on internal bus (it is needed to load new descriptor). On the other hand will occupy only one channel, because new TCD replaces original one. This way you can chain any amount of TCDs. Regarding DMA service request - if can be configures both way acording to START bit of newly loaded TCD, thus it can be immediately triggered (START = 1) or it'll be triggered by another DMA request (START = 0).