ALSA架構中DMA的使用

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操作時候。下圖簡要列出該流程:

ALSA中DMA的使用
ALSA中DMA的使用

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章