On 09/10/2019 15:29, Pierre-Louis Bossart wrote:
On 10/9/19 3:32 AM, Srinivas Kandagatla wrote:
Hi Pierre,
On 14/08/2019 15:09, Pierre-Louis Bossart wrote:
On 8/13/19 11:11 PM, Vinod Koul wrote:
On 13-08-19, 20:58, Mark Brown wrote:
On Tue, Aug 13, 2019 at 02:38:53PM -0500, Pierre-Louis Bossart wrote:
Indeed. I don't have a full understanding of that part to be honest, nor why we need something SoundWire-specific. We already abused the set_tdm_slot API to store an HDaudio stream, now we have a rather confusing stream information for SoundWire and I have about 3 other 'stream' contexts in SOF... I am still doing basic cleanups but this has been on my radar for a while.
There is something to be said for not abusing the TDM slot API if it can make things clearer by using bus-idiomatic mechanisms, but it does mean everything needs to know about each individual bus :/ .
Here ASoC doesn't need to know about sdw bus. As Srini explained, this helps in the case for him to get the stream context and set the stream context from the machine driver.
Nothing else is expected to be done from this API. We already do a set using snd_soc_dai_set_sdw_stream(). Here we add the snd_soc_dai_get_sdw_stream() to query
I didn't see a call to snd_soc_dai_set_sdw_stream() in Srini's code?
There is a snd_soc_dai_get_sdw_stream() to get stream context and we add slave streams(amplifier in this case) to that context using sdw_stream_add_slave() in machine driver[1].
Without this helper there is no way to link slave streams to stream context in non dai based setup like smart speaker amplifiers.
Currently this driver is blocked on this patch, If you think there are other ways to do this, am happy to try them out.
So to be clear, you are *not* using snd_soc_dai_set_sdw_stream?
Yes, am not using snd_soc_dai_set_sdw_stream().
--srini