Ah, that looks like the one! Thanks, -Caleb On Tue, Nov 10, 2015 at 10:30 AM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > On 11/10/2015 06:12 PM, Caleb Crome wrote: >> Hi again, >> I have a system that has separate DACs and ADCs, as opposed to >> bidirectional CODECS. >> >> The ADCs have a snd_soc_dai_driver structure that have a .capture >> field defined with a .rates parameter, and the DACs have a >> snd_soc_dai_driver structure that have a .playback field defined with >> a .rates parameter. >> >> However, the ADCs have no .playback.rates, and the DACs have no >> .capture.rates. Even though the ADC can record at a given rate and the >> DAC can play at that same rate, the soc_pcm_init_runtime_hw function >> calculates the rates in this loop: >> >> ------------------------------ >> /* first calculate min/max only for CODECs in the DAI link */ >> for (i = 0; i < rtd->num_codecs; i++) { >> codec_dai_drv = rtd->codec_dais[i]->driver; >> if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) >> codec_stream = &codec_dai_drv->playback; >> else >> codec_stream = &codec_dai_drv->capture; >> chan_min = max(chan_min, codec_stream->channels_min); >> chan_max = min(chan_max, codec_stream->channels_max); >> rate_min = max(rate_min, codec_stream->rate_min); >> rate_max = min_not_zero(rate_max, codec_stream->rate_max); >> formats &= codec_stream->formats; >> rates = snd_pcm_rate_mask_intersect(codec_stream->rates, rates); >> } >> ------------------------------ >> >> which can't work out that one side is play only and the other is >> record only, yet they do in fact have matching rates. So, I get a "no >> matching channels" error. > [...] > > Try the latest asoc/for-next kernel. There is a patch[1] that addresses the > issue. > > - Lars > > [1] > http://git.kernel.org/cgit/linux/kernel/git/broonie/sound.git/commit/sound/soc/soc-pcm.c?h=for-next&id=cde79035c6cf578dd33dfea3e39666efc27cbcf2 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel