Hi Amadeusz Cc Mark
Thank you for debuging/checking.
I noticed that before the patch, it checks dummy DAI only for no_pcm case. But after appling the patch, it will check both CPU and Codec valid (X)/(Y)/(Z).
(snip)
sorry for small delay, I've debugged the issue. Seems like one less critical problem is in ASoC HDA codec, which blocks HDA and HDMI probing altogether in our driver, something like this should fix this:
(snip)
@@ -341,6 +341,8 @@ static const struct snd_soc_dapm_widget hda_dapm_widgets[] = { static struct snd_soc_dai_driver card_binder_dai = { .id = -1, .name = "codec-probing-DAI",
.capture.channels_min = 1,
};.playback.channels_min = 1,
(snip)
and it works for testing purposes, but as commented in code, those fields are initialized later (in hdmi_pcm_open()), which apparently in case of ASoC binding is too late. Likely those assignments need to be moved earlier.
Another thing that should probably be done is some kind of look through ASoC codec files to make sure that they all define channels_min properly, otherwise there may be more unexpected failures.
Hmm...
From logic point of view, I think we need to check all validation. But from compatible point of view, we want to skip validation check for BE Codec... Especially, quick hack solution (= adding channels_min in many place) might case other bug I guess.
OK, let's skip BE Codec in v2 for now.
Thank you for your help !!
Best regards --- Kuninori Morimoto