On Wed, Jun 07, 2023 at 05:22:45PM +0100, Mark Brown wrote: > On Wed, Jun 07, 2023 at 10:10:24AM -0500, Pierre-Louis Bossart wrote: > > On 6/7/23 04:29, Richard Fitzgerald wrote: > > > On 07/06/2023 04:12, Bard Liao wrote: > > > > You are declaring that all the CPU and CODEC in the dailink behave as a > > > single logical link. So you can just connect all CPUs to all CODECS. > > > > That also fixes a problem with the existing N CPU to N CODEC mapping. It > > > assumes that means CPU0 is connected to CODEC0, CPU1 is connected to > > > CODEC1, ... But that isn't necessarily true. You could have an N:N > > > mapping where multiple CPUs have been combined to create a multi-channel > > > stream that is sent to all CODECs. > > > This is questionable when the CPUs are connected to different links. > > SoundWire is not a giant switch matrix, there's a clear parent-child > > dependency and limited scope. > > > Example topology for a 2 link/4 amplifier solution. > > Or a system with two distinct I2S DAIs (TDM is another thing). I guess the bit that slightly phases me here is, historically a DAI link has been the thing that specifies what is connected to what. What kinda happened when we added multi-cpu is we bent that assumption, at least for the N -> N case, and now even more so for the N -> M case, where only a subset of the DAI link is actually connected. If your system looks like: CPU A -> CODEC A CPU B -> CODEC B What makes this a single DAI link, rather than 2 DAI links? And does the information within the DAI link about what is connected to what not just start looking like DAI links? Thanks, Charles