From: Mark Brown <broonie@kernel.org> To: "Martin Povišer" <povik@cutebit.org> Cc: "Martin Povišer" <povik+lin@cutebit.org>, "Liam Girdwood" <lgirdwood@gmail.com>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzk+dt@kernel.org>, "Jaroslav Kysela" <perex@perex.cz>, "Takashi Iwai" <tiwai@suse.com>, alsa-devel@alsa-project.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, "Mark Kettenis" <kettenis@openbsd.org>, "Hector Martin" <marcan@marcan.st>, "Sven Peter" <sven@svenpeter.dev> Subject: Re: [RFC PATCH 3/5] HACK: ASoC: Tolerate N-cpus-to-M-codecs links Date: Mon, 25 Apr 2022 13:55:25 +0100 [thread overview] Message-ID: <YmaaPa8A03rWV7HE@sirena.org.uk> (raw) In-Reply-To: <9F8BCBA8-5EE3-4F87-9518-91CB7AB4E077@cutebit.org> [-- Attachment #1: Type: text/plain, Size: 1777 bytes --] On Mon, Apr 25, 2022 at 02:34:33PM +0200, Martin Povišer wrote: > > On 25. 4. 2022, at 14:25, Mark Brown <broonie@kernel.org> 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). > >> 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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Mark Brown <broonie@kernel.org> To: "Martin Povišer" <povik@cutebit.org> Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org, "Sven Peter" <sven@svenpeter.dev>, linux-kernel@vger.kernel.org, "Hector Martin" <marcan@marcan.st>, "Takashi Iwai" <tiwai@suse.com>, "Liam Girdwood" <lgirdwood@gmail.com>, "Rob Herring" <robh+dt@kernel.org>, "Mark Kettenis" <kettenis@openbsd.org>, "Martin Povišer" <povik+lin@cutebit.org>, "Krzysztof Kozlowski" <krzk+dt@kernel.org> Subject: Re: [RFC PATCH 3/5] HACK: ASoC: Tolerate N-cpus-to-M-codecs links Date: Mon, 25 Apr 2022 13:55:25 +0100 [thread overview] Message-ID: <YmaaPa8A03rWV7HE@sirena.org.uk> (raw) In-Reply-To: <9F8BCBA8-5EE3-4F87-9518-91CB7AB4E077@cutebit.org> [-- Attachment #1: Type: text/plain, Size: 1777 bytes --] On Mon, Apr 25, 2022 at 02:34:33PM +0200, Martin Povišer wrote: > > On 25. 4. 2022, at 14:25, Mark Brown <broonie@kernel.org> 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). > >> 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. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2022-04-25 12:55 UTC|newest] Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-31 0:04 [RFC PATCH 0/5] Apple Macs machine-level ASoC driver Martin Povišer 2022-03-31 0:04 ` Martin Povišer 2022-03-31 0:04 ` [RFC PATCH 1/5] dt-bindings: sound: Add Apple Macs sound system Martin Povišer 2022-03-31 0:04 ` Martin Povišer 2022-03-31 6:43 ` Krzysztof Kozlowski 2022-03-31 6:57 ` Martin Povišer 2022-03-31 8:17 ` Krzysztof Kozlowski 2022-03-31 8:23 ` Martin Povišer 2022-03-31 8:26 ` Krzysztof Kozlowski 2022-03-31 0:04 ` [RFC PATCH 2/5] HACK: ASoC: Add card->filter_controls hook Martin Povišer 2022-03-31 0:04 ` Martin Povišer 2022-03-31 11:34 ` Mark Brown 2022-03-31 11:34 ` Mark Brown 2022-03-31 0:04 ` [RFC PATCH 3/5] HACK: ASoC: Tolerate N-cpus-to-M-codecs links Martin Povišer 2022-03-31 0:04 ` Martin Povišer 2022-04-04 12:28 ` Mark Brown 2022-04-04 12:28 ` Mark Brown 2022-04-22 14:06 ` Martin Povišer 2022-04-22 14:06 ` Martin Povišer 2022-04-25 12:25 ` Mark Brown 2022-04-25 12:25 ` Mark Brown 2022-04-25 12:34 ` Martin Povišer 2022-04-25 12:34 ` Martin Povišer 2022-04-25 12:55 ` Mark Brown [this message] 2022-04-25 12:55 ` Mark Brown 2022-04-25 13:11 ` Martin Povišer 2022-04-25 13:11 ` Martin Povišer 2022-04-25 13:46 ` Mark Brown 2022-04-25 13:46 ` Mark Brown 2022-04-25 13:55 ` Martin Povišer 2022-04-25 13:55 ` Martin Povišer 2022-03-31 0:04 ` [RFC PATCH 4/5] ASoC: Introduce snd_soc_of_get_dai_link_cpus Martin Povišer 2022-03-31 0:04 ` Martin Povišer 2022-03-31 0:04 ` [RFC PATCH 5/5] ASoC: Add macaudio machine driver Martin Povišer 2022-03-31 0:04 ` Martin Povišer 2022-03-31 11:59 ` Mark Brown 2022-03-31 11:59 ` Mark Brown 2022-03-31 12:08 ` Martin Povišer 2022-03-31 12:16 ` Martin Povišer 2022-03-31 12:56 ` Mark Brown 2022-03-31 12:56 ` Mark Brown 2022-03-31 12:34 ` [RFC PATCH 0/5] Apple Macs machine-level ASoC driver Mark Brown 2022-03-31 12:34 ` Mark Brown 2022-03-31 13:28 ` Martin Povišer 2022-03-31 14:18 ` Mark Brown 2022-03-31 14:18 ` Mark Brown 2022-03-31 15:04 ` Martin Povišer 2022-03-31 15:36 ` Mark Brown 2022-03-31 15:36 ` Mark Brown 2022-04-22 10:43 ` Martin Povišer 2022-04-22 10:43 ` Martin Povišer 2022-04-22 11:19 ` Mark Brown 2022-04-22 11:19 ` Mark Brown 2022-04-22 11:28 ` Martin Povišer 2022-04-22 11:28 ` Martin Povišer 2022-04-22 11:33 ` Mark Brown 2022-04-22 11:33 ` Mark Brown 2022-04-22 11:44 ` Martin Povišer 2022-04-22 11:44 ` Martin Povišer 2022-04-22 12:22 ` Mark Brown 2022-04-22 12:22 ` Mark Brown 2022-04-22 12:36 ` Martin Povišer 2022-04-22 12:36 ` Martin Povišer 2022-04-22 12:44 ` Mark Brown 2022-04-22 12:44 ` Mark Brown 2022-04-22 12:53 ` Martin Povišer 2022-04-22 12:53 ` Martin Povišer 2022-04-22 13:06 ` Mark Brown 2022-04-22 13:06 ` Mark Brown 2022-04-22 13:59 ` Martin Povišer 2022-04-22 13:59 ` Martin Povišer 2022-03-31 13:28 ` Hector Martin 2022-03-31 13:28 ` Hector Martin 2022-03-31 14:33 ` Mark Brown 2022-03-31 14:33 ` Mark Brown 2022-04-05 9:31 ` (subset) " Mark Brown 2022-04-05 9:31 ` Mark Brown
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=YmaaPa8A03rWV7HE@sirena.org.uk \ --to=broonie@kernel.org \ --cc=alsa-devel@alsa-project.org \ --cc=devicetree@vger.kernel.org \ --cc=kettenis@openbsd.org \ --cc=krzk+dt@kernel.org \ --cc=lgirdwood@gmail.com \ --cc=linux-kernel@vger.kernel.org \ --cc=marcan@marcan.st \ --cc=perex@perex.cz \ --cc=povik+lin@cutebit.org \ --cc=povik@cutebit.org \ --cc=robh+dt@kernel.org \ --cc=sven@svenpeter.dev \ --cc=tiwai@suse.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.