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