DAI widget和stream widget建立连接

https://blog.csdn.net/droidphone/article/details/14548631

概要

默认情况下,驱动不会通过snd_soc_route来主动定义dai widget和stream widget之间的连接关系。实际上它们之间的连接关系是由asoc core负责建立。在声卡的初始化函数中,使用snd_soc_dapm_link_dai_widgets函数来建立他们之间的连接关系。

snd_soc_dapm_new_dai_widgets()创建dai widgets。dai widget的name和sname使用 dai driver的stream_name字段。


stream widget除了指定name还需要指定sname。

从snd_soc_dapm_link_dai_widgets函数可知:dai widget和stream widget是通过stream name连接起来的。
匹配的条件是 stream widget的stream name包含或等于dai widget的stream name。
最后通过snd_soc_dapm_add_path建立静态连接。但是注意的是dai widget和stream widget建立连接必须属于同一个DAPM context上下文。

posted @ 2020-11-17 22:14  bobfly1984  阅读(276)  评论(0编辑  收藏  举报