> On 25. 4. 2022, at 14:55, Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Mon, Apr 25, 2022 at 02:34:33PM +0200, Martin Povišer wrote: >>> On 25. 4. 2022, at 14:25, Mark Brown <broonie@xxxxxxxxxx> wrote: > >>> If you register two separate DAIs (well, links) with the API without >>> doing anything else the API will just expose them to userspace as two >>> separate things with no indication that they're related. > >> Sure, but what I am addressing here is a single DAI link with multiple >> CPU DAIs, invoked in DT like this: > >> dai-link@0 { >> link-name = "Speakers"; >> mclk-fs = <256>; >> >> cpu { >> sound-dai = <&mca 0>, <&mca 1>; >> }; >> codec { >> sound-dai = <&speaker_left_woof1>, >> <&speaker_right_woof1>, >> <&speaker_left_tweet>, >> <&speaker_right_tweet>, >> <&speaker_left_woof2>, >> <&speaker_right_woof2>; >> }; >> }; > > You could parse this into two separate links for the benefit of the > framewokr if you're using a custom machine driver (which I suspect you > probably have to). Yeah, this is parsed by the ‘macaudio’ machine driver from the series. >>>> What about this interim solution: In case of N-to-M links we put in >>>> the most restrictive condition for checking capture/playback stream >>>> validity: we check all of the CPU DAIs. Whatever ends up being the >>>> proper solution later can only be less restrictive than this. > >>> That's not the issue here? > >> Well to me it looks like it is. Because if I invoke the DAI link like >> I quoted above, and the platform driver supports it, the playback/capture >> stream validity check is the only place it breaks down. Notwithstanding >> this may be the wrong API as you wrote. > > I am surprised that doesn't otherwise explode TBH - at the very least > I'd expect it to show two PCMs to userspace which if I'm understanding > your description correctly isn't really what's going on. I fill in a single snd_soc_dai_link, it exposes a single PCM and works like a charm. That is as long as I patch the playback/capture check in question. I read that to be the clear intention of ASoC code: a DAI link becomes one snd_soc_pcm_runtime.