Hi Mark
I really don't like the number of elements inverting the meaning of the property.
I have to say I'm not a big fan of that either. It might be easier to map each channel to a slot number on the link, each DAI could then have an independent map and the kernel could compare DAI slots to join things up.
Do you mean something like this ? almost pseudo code...
Image CPU0 <---> Codec0 CPU1 <-+-> Codec1 CPU2 <-/
code ch_maps = { .cpu; .codec; ... };
.ch_maps[0].cpu = CPU0 .ch_maps[1].cpu = CPU1 .ch_maps[2].cpu = CPU2
.ch_maps[0].codec = Codec0 .ch_maps[1].codec = Codec1 .ch_maps[2].codec = Codec1
DT (A) (B) <- port -> <- port -> <- port -> <- port -> ax(ep) <--> (ep)bx map=<0> cpu0(ep) <--> (ep)a0 b0(ep) <--> (ep)codec0 map=<0> map=<1> cpu1(ep) <--> (ep)a1 b1(ep) <--> (ep)codec1 map=<1 2> map=<2> cpu2(ep) <--> (ep)a2 ~~~~~~~~~ ~~~~~~~
Thank you for your help !!
Best regards --- Kuninori Morimoto