ASoC中的Platform驅動分爲兩個部分:snd_soc_platform_driver和snd_soc_dai_driver。而platform_driver則負責管理音頻數據,把音頻數據通過DMA傳送至cpu dai中。註冊聲卡驅動時候,DMA驅動需要預先設置DMA一致性以及申請playback和capture所需的DMA Buffer。像snd_pcm_ops中的open、hw_params函數是在應用程序進行open("/dev/snd/pcmC0D0p")時,會進行調用。而trigger函數是應用程序進行放音或者錄音的時候會調到,即write/read操作時候。下圖簡要列出該流程: