Hi Pierre-Louis Thank you for your review ! > We can test the next version (comments in separate mail) but we don't > have a configuration with more cpu dais than codec dais I am afraid, so > the best we can contribute is a non-regression for the N < M case. Yes, it is enough. Thanks a lot ! > > + * CPU_x <---> Codec0 > > + * CPU_y <-+-> Codec1 > > + * \-> Codec2 > > + * > > + * .ch_maps is from Codec > > how would we know what the convention is? Is this based on the largest > number of dais, so here num_codecs > num_cpus so we use a codec-centric > convention? That would be worth explaining in clear text These samles is good enough I thought, but yes, adding clear text is better. Will do in v2. > > + * .num_cpus = 2; > > + * .num_codecs = 3; > > + * .connected_node = [x, y, y]; > > + */ > > +struct snd_soc_dai_link_ch_map { > > + unsigned int connected_node; > > connected_node is a scalar here and an array above. maybe split this > patch between a rename and a functionality change? The sample image is simplified to avoid complex image. But let's use more actual image if there is no misunderstanding. CPU0 <---> Codec_x CPU1 <-+-> Codec_y CPU2 <-/ .ch_maps is from CPU .num_cpus = 3; .num_codecs = 2; => .ch_map[] = {{connected_node = x,}, {connected_node = y,}, {connected_node = y,}}; > > +#define MAX_DEFAULT_CONNECTION_MAP_SIZE 7 > > why 7? No big reason, but I thought 7 is big enough as default. We need to increase it if 7 was not enough for default. /* check default map size */ if (dai_link->num_cpus > MAX_DEFAULT_CONNECTION_MAP_SIZE || dai_link->num_codecs > MAX_DEFAULT_CONNECTION_MAP_SIZE) { dev_err(card->dev, "soc-core.c needs update default_connction_maps"); return -EINVAL; } > > +static struct snd_soc_dai_link_ch_map default_connction_map1[MAX_DEFAULT_CONNECTION_MAP_SIZE] = { > > typo: connection Oops, thank you for pointing it. > > + for (j = 0; j < n; j++) > > + if (dai_link->ch_maps[j].connected_node >= max) { > > + dev_err(card->dev, "strange connected_node (%d) was added to ch_maps", > > maybe elaborate on what "strange" might mean so that average users can > figure this out? Thanks. Will fix in v2 Thank you for your help !! Best regards --- Kuninori Morimoto