Block Diagram

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.