The following figure shows the block diagram of the DMA engine. Figure 1. Block Diagram
The DMA framework is mainly divided into the following 3 parts, the DMA provider, the DMA
consumer and the DMA core. The following list provides some examples from the DMA
consumer's perspective:
ALSA Player: Advanced Linux Sound Architecture
(ALSA) provides audio and MIDI functionality to the Linux operating
system. The ALSA player communicates with the DMA core via the ALSA driver.
SPI Dev Test: The SPI development test application
communicates with the DMA core via the SPI driver.
Other Applications. The other applications communicate
with the DMA core via their associated driver programs.
From the DMA provider's perspective, the DMA Core provides public
interfaces for the DMA consumers to access the hardware DMA channel.