EN
Home > FAQ | awinic > FAQ0100159: QCOM平台codec_probe未调用如何排查?

FAQ0100159: QCOM平台codec_probe未调用如何排查?

Audio 2021-07-01 Views: 167 Likes: 0

1.检查dai_link配置,以aw882xx为例说明

先同硬件确认PA的I2S接口实际连接到平台的哪一路I2S;

codec_dai配置是否添加到对应的dai_link下;

1)确认codec驱动注册的dai-name和平台dai-link配置的dai-name是否一致;

codec驱动中注册的dai-name:

cat sys/kernel/debug/asoc/codecs或sys/kernel/debug/asoc/components

1.png


平台dai-link配置:

2.png


2)确认是否在I2S对应的dai_link如QUAT_MI2S_RX和QUAT_MI2S_TX下修改codec dai name;

对于kernel-5.4以下的平台:

3.png


对于kernel-5.4以上的平台:

4.png


2.确认声卡是否注册成功

执行adb指令:

cat /proc/asound/cards

若如下示例显示no soundcards表明声卡未注册上

5.png

若声卡未注册,需抓取开机的kernel log,检索ASoC,根据相关报错分析;


若声卡正常注册,dai_link配置正确,log看还是未进入codec_probe,则需要确认所修改的dai_link是否有添加到声卡。

确认方式:分析machine_probe函数,确认所修改的dai_link是否有添加到total_links。

如下示例,修改的dai_link为msm_mi2s_be_dai_links,而machine_probe中读取”qcom, mi2s-audio-intf”不为0时才会添加msm_mi2s_be_dai_links。

6.png


查看声卡的设备树配置,如下列qcom,mi2s-audio-intf = <0>;的配置就会导致dai_links未被添加;需要修改为qcom,mi2s-audio-intf = <1>;

7.png

若以上配置均确认无误,codec_probe还是未调用,可提供kernel log和dai_link修改的patch给艾为软件FAE分析。

Back to FAQ List