On 25-01-21, 16:23, Srinivas Kandagatla wrote: > > > On 22/01/2021 16:42, Pierre-Louis Bossart wrote: > > > > > > > > if you completely remove the stream and re-add it with updated > > > > configuration things should work. > > > > > > That's exactly what we do currently! > > > > > > The updated ports due to new configuration ex: for "mic capture" > > > dailink needs to be communicated from slave(codec) to master so that > > > it can allocate correct ports. That is what this patch is trying to > > > do (share current port map information). > > > > .. we have a disconnect on how to do this configuration update. > > > > The 'stream' support was designed so that a stream can be split across > > multiple devices (both masters and slaves). With this design we need to > > have a central configuration and distribute the information to all > > devices taking part of the stream. That is correct, but in this case a stream consists of one master and one or more slave devices. This is not a multi-master design. The adding of multiple masters should not be done here... that does not seem logically right in this situation > > It seems you are in a different solution-space, where the codec driver > > needs to notify the master of which ports it needs to use? > > Correct! As Codec is the place where we have mixer controls ant it can > clearly tell which master ports should be used for that particular > configuration. And that should come from firmware (DT etc) and driver should pass on this info > > I also don't see where the mapping is actually set. Patch 2 uses a > > mapping but there's no codec driver change that defines the mapping? > > > > Do you actually call sdw_stream_add_slave() with a new mapping? > > > Yes, currently am working on a codec driver for WCD938x Codec, which I will > posting very soon! > > > It feels we are missing the codec part to really see what you are trying > > to do? > My WIP code is at https://git.linaro.org/people/srinivas.kandagatla/linux.git/tree/sound/soc/codecs/wcd938x.c?h=wcd938x/wip#n4526 > > Currently the master ports are hardcoded in the driver for now, but these > will come from DT. > > --srini -- ~Vinod