lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87o6vonmjw.wl-kuninori.morimoto.gx@renesas.com>
Date: Tue, 20 May 2025 00:38:43 +0000
From: Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
To: Mihalcea Laurentiu <laurentiumihalcea111@...il.com>
Cc: Mark Brown <broonie@...nel.org>,
	Jaroslav Kysela <perex@...ex.cz>,
	Takashi Iwai <tiwai@...e.com>,
	Liam Girdwood <lgirdwood@...il.com>,
	linux-kernel@...r.kernel.org,
	linux-sound@...r.kernel.org
Subject: Re: [PATCH RFC 2/3] ASoC: audio-graph-card2: support explicitly disabled links


Hi Laurentiu

> so, the problem with this is the fact that (assuming you've used a DT overlay
> for the PLUGIN) you won't be able to use the DT overlay on other boards because
> you've also added the "Headphone0", "Codec0" route which is specific to BASE's
> Codec0. We have multiple boards so our system would look like this:
> 
> 	BASE0			  PLUGIN
> 	+-----------------+
> 	| CPU0 <-> Codec0 |     +--------+
> 	| CPU1		  | <-> | Codec1 |
> 	+-----------------+     +--------+
> 
> 
> 	BASE1			  PLUGIN
> 	+-----------------+
> 	| CPU0 <-> Codec3 |     +--------+
> 	| CPU1		  | <-> | Codec1 |
> 	+-----------------+     +--------+
> 
> 
> The plugin is the same. The only difference between BASE1 and BASE0 is the fact that CPU0
> is connected to Codec0 on BASE0, while, on BASE1, CPU0 is connected to a different codec: Codec3.

Ah, OK, that it the reason why you added the route on BASE side...

Hmm... I think my previous suggested idea (new flag) is reasonable, but you
mentioned that you want to check whether it was "disabled" or not.
So, how about to add "plugin-route" and "plugin-links" instead ?

BASE
	my_card: card {
		links = <&cpu0>;
		routing = "Headphone0", "Codec0"; /* for CPU0-Codec0 */
	};

PLUGIN
	&my_card {
		plugin-links = <&cpu1>, <&cpu2>
		plugin-routing = "Headphone1", "Codec1", /* for CPU1-Codec1 */
		^^^^^^		 "Headphone2", "Codec2"; /* for CPU2-Codec2 */
	};

Audio Card2 parses "links" + "plugin-links", and
"routing" + "plugin-routing". It is more intuitive ?

> > 	BASE			  PLUGIN
> > 	+-----------------+			^
> > 	| CPU0 <-> Codec0 |			| Card1
> > 	|		  |			v
> > 	|		  |     +--------+	^
> > 	| CPU1		  | <-> | Codec1 |	| Card2
> > 	| CPU2		  | <-> | Codec2 |	|
> > 	+-----------------+     +--------+	v
> 
> one important thing to note here is the fact that we can only
> have 1 sound card because all DAIs (CPU0, CPU1, CPU2) belong
> to the same component.

Indeed it depens on the CPU side driver style.
I have updated my driver to allow to be multi components by checking DT.

I'm not sure which one (= use plugin-xxx flag or use multi Cards) is
more intuitive, but supporting both is not bad idea ?

Thank you for your help !!

Best regards
---
Kuninori Morimoto

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ