Hi Conor Thank you for your feedback > > This patch adds ch-maps property to enable handling CPU:Codec = N:M > > connection. > > > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > --- (snip) > > + ch-maps: > > + $ref: /schemas/types.yaml#/definitions/uint32-array > > Most of what I said on the last version applies here too. Only the > s/_/-/ was done. Is there a reason you ignored those comments? Ah sorry. I thought you wanted was add your address on To/Cc for all patch-set. > I only got this one patch, so I have no context at all for this change. > Given that, and since I know almost nothing about sound stuff... (snip) > ...I have absolutely no idea how I would populate "ch_maps" correctly. > Please describe (in the binding) what this property actually does > & how to use it. Also, properties use -s not _s. Some Sound want to use multiple connections between CPUs (N) and Codecs (M). Current audio-graph-card2 driver is already supporting 1:N / N:1 / N:N connections, this patch expand it. These are implemented by using Of-Graph. For example N:N connection case, it is expressed like below. One note here is that cpu0/cpu1 and codec0/codec1 are *not* independent. We need to consider cpu0/cpu1 pair and codec0/codec1 pair. ep (endpoint) (A) (B) <- port -> <- port -> <- port -> <- port -> ax(ep) <--> (ep)bx cpu0(ep) <--> (ep)a0 b0(ep) <--> (ep)codec0 cpu1(ep) <--> (ep)a1 b1(ep) <--> (ep)codec1 In N:N case, it is assuming cpu0/codec0, and cpu1/codec1 has related. This patch expand (A)/(B) part to N:M (N != M). Then, ch-maps indicates how these are related. (A) (B) <- port -> <- port -> <- port -> <- port -> ax(ep) <--> (ep)bx cpu0(ep) <--> (ep)a0 b0(ep) <--> (ep)codec0 cpu1(ep) <--> (ep)a1 b1(ep) <--> (ep)codec1 => cpu2(ep) <--> (ep)a2 ch-maps = <0 0 1> ch-maps = <0 0 1> means, cpu0 <-> codec0 cpu1 <-> codec0 cpu2 <-> codec1 Thank you for your help !! Best regards --- Kuninori Morimoto