[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 10 Oct 2019 15:52:56 +0100
From: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Charles Keepax <ckeepax@...nsource.cirrus.com>
Cc: devicetree@...r.kernel.org, alsa-devel@...a-project.org,
bgoswami@...eaurora.org, linux-kernel@...r.kernel.org,
plai@...eaurora.org, robh+dt@...nel.org, lgirdwood@...il.com,
Vinod Koul <vkoul@...nel.org>, Mark Brown <broonie@...nel.org>,
spapothi@...eaurora.org
Subject: Re: [alsa-devel] [PATCH v2 3/5] ASoC: core: add support to
snd_soc_dai_get_sdw_stream()
On 10/10/2019 15:01, Pierre-Louis Bossart wrote:
>
>>>> It's been a while since this thread started, and I still don't
>>>> quite get the concepts or logic.
>>>>
>>>> First, I don't understand what the problem with "aux" devices is.
>>>> All the SoundWire stuff is based on the concept of DAI, so I guess
>>>> I am
>>>
>>> That is the actual problem! Some aux devices does not have dais.
>>>
>>
>> Usually aux devices are used for things like analog amplifiers that
>> clearly don't have a digital interface, thus it really makes no sense
>> to have a DAI link connecting them. So I guess my question here
>> would be what is the thinking on making the "smart amplifier" dailess?
>> It feels like having a CODEC to CODEC DAI between the CODEC and
>> the AMP would be a more obvious way to connect the two devices
>> and would presumably avoid the issues being discussed around the
>> patch.
>
> Ah, now I get it, I missed the point about not having DAIs for the
> amplifier.
>
> I will second Charles' point, the code you have in the machine driver at
I agree with Charles,
WSA8810/WSA8815 is connected via SoundWire digital interface, so I can
try to model this amplifier with dais and see how it ends up.
I still need to figure out prefixing multiple instances of this
Amplifier controls with "Left" and "Right"
> [1] gets a SoundWire stream context from the SLIMbus codec dai. It's a
> bit odd to mix layers this way.
Yep we have a very mixed setup on this SoC.
So it looks like this.
Main WCD934X Codec which is connected via SLIMBus which has SoundWire
Controller block along with other analog + digital blocks.
Again the SoundWire Controller from that WCD934X codec is wired up to
WSA881X Smart speaker amplifiers.
>
>
> And if I look at the code below, taken from [1], if you have more than
> one codec, then your code looks problematic: data->sruntime would be
> overriden and you'd use the info from the last codec dai on the dailink...
This code has been written very much specific to DB845c which has only
one codec. But I agree with your point.
--srini
>
> case SLIMBUS_0_RX...SLIMBUS_6_TX:
> for (i = 0 ; i < dai_link->num_codecs; i++) {
> [snip]
> data->sruntime[cpu_dai->id] =
> snd_soc_dai_get_sdw_stream(rtd->codec_dais[i], 0); << same
> destination for multiple codec_dais...
>
> If you keep the amp dai-less, then the stream concept should be somehow
> allocated on the master (or machine) side and passed to the codec dais
> that are associated to the same 'stream'.
>
>
> [1]
> https://git.linaro.org/people/srinivas.kandagatla/linux.git/tree/sound/soc/qcom/db845c.c?h=release/db845c/qcomlt-5.2
>
>
Powered by blists - more mailing lists