From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>,
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
bgoswami@codeaurora.org, plai@codeaurora.org,
linux-kernel@vger.kernel.org, lgirdwood@gmail.com,
Vinod Koul <vkoul@kernel.org>,
robh+dt@kernel.org, Mark Brown <broonie@kernel.org>,
spapothi@codeaurora.org
Subject: Re: [alsa-devel] [PATCH v2 3/5] ASoC: core: add support to snd_soc_dai_get_sdw_stream()
Date: Thu, 10 Oct 2019 09:01:42 -0500 [thread overview]
Message-ID: <22eff3aa-dfd6-1ee5-8f22-2af492286053@linux.intel.com> (raw)
In-Reply-To: <20191010120337.GB31391@ediswmail.ad.cirrus.com>
>>> 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
[1] gets a SoundWire stream context from the SLIMbus codec dai. It's a
bit odd to mix layers this way.
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...
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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>,
Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
bgoswami@codeaurora.org, linux-kernel@vger.kernel.org,
plai@codeaurora.org, robh+dt@kernel.org, lgirdwood@gmail.com,
Vinod Koul <vkoul@kernel.org>, Mark Brown <broonie@kernel.org>,
spapothi@codeaurora.org
Subject: Re: [alsa-devel] [PATCH v2 3/5] ASoC: core: add support to snd_soc_dai_get_sdw_stream()
Date: Thu, 10 Oct 2019 09:01:42 -0500 [thread overview]
Message-ID: <22eff3aa-dfd6-1ee5-8f22-2af492286053@linux.intel.com> (raw)
In-Reply-To: <20191010120337.GB31391@ediswmail.ad.cirrus.com>
>>> 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
[1] gets a SoundWire stream context from the SLIMbus codec dai. It's a
bit odd to mix layers this way.
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...
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
next prev parent reply other threads:[~2019-10-10 14:02 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-13 8:35 [PATCH v2 0/5] soundwire: Add support to Qualcomm SoundWire master Srinivas Kandagatla
2019-08-13 8:35 ` [PATCH v2 1/5] soundwire: Add compute_params callback Srinivas Kandagatla
2019-08-13 14:34 ` Pierre-Louis Bossart
2019-08-13 18:17 ` Srinivas Kandagatla
2019-08-13 19:08 ` Pierre-Louis Bossart
2019-08-14 4:05 ` Vinod Koul
2019-09-04 9:28 ` [alsa-devel] " Vinod Koul
2019-09-04 9:28 ` Vinod Koul
2019-09-04 13:36 ` [alsa-devel] " Pierre-Louis Bossart
2019-09-04 13:36 ` Pierre-Louis Bossart
2019-08-13 8:35 ` [PATCH v2 2/5] soundwire: stream: make stream name a const pointer Srinivas Kandagatla
2019-09-04 9:29 ` [alsa-devel] " Vinod Koul
2019-09-04 9:29 ` Vinod Koul
2019-08-13 8:35 ` [PATCH v2 3/5] ASoC: core: add support to snd_soc_dai_get_sdw_stream() Srinivas Kandagatla
2019-08-13 14:44 ` [alsa-devel] " Pierre-Louis Bossart
2019-08-13 16:50 ` Srinivas Kandagatla
2019-08-13 17:51 ` Pierre-Louis Bossart
2019-08-13 18:06 ` Srinivas Kandagatla
2019-08-13 19:15 ` Pierre-Louis Bossart
2019-08-13 19:18 ` Mark Brown
2019-08-13 19:38 ` Pierre-Louis Bossart
2019-08-13 19:58 ` Mark Brown
2019-08-14 4:11 ` Vinod Koul
2019-08-14 9:08 ` Mark Brown
2019-08-14 14:09 ` Pierre-Louis Bossart
2019-10-09 8:32 ` Srinivas Kandagatla
2019-10-09 8:32 ` Srinivas Kandagatla
2019-10-09 14:29 ` Pierre-Louis Bossart
2019-10-09 14:29 ` Pierre-Louis Bossart
2019-10-09 14:29 ` Pierre-Louis Bossart
2019-10-09 16:01 ` Srinivas Kandagatla
2019-10-09 16:01 ` Srinivas Kandagatla
2019-10-09 16:01 ` Srinivas Kandagatla
2019-10-09 18:53 ` Pierre-Louis Bossart
2019-10-09 18:53 ` Pierre-Louis Bossart
2019-10-10 8:50 ` Srinivas Kandagatla
2019-10-10 8:50 ` Srinivas Kandagatla
2019-10-10 12:03 ` Charles Keepax
2019-10-10 12:03 ` Charles Keepax
2019-10-10 12:03 ` Charles Keepax
2019-10-10 13:51 ` Mark Brown
2019-10-10 13:51 ` Mark Brown
2019-10-10 14:01 ` Pierre-Louis Bossart [this message]
2019-10-10 14:01 ` Pierre-Louis Bossart
2019-10-10 14:52 ` Srinivas Kandagatla
2019-10-10 14:52 ` Srinivas Kandagatla
2019-10-10 15:49 ` Pierre-Louis Bossart
2019-10-10 15:49 ` Pierre-Louis Bossart
2019-10-11 12:30 ` Srinivas Kandagatla
2019-10-11 12:30 ` Srinivas Kandagatla
2019-08-13 16:03 ` Cezary Rojewski
2019-08-13 16:52 ` Srinivas Kandagatla
2019-08-13 17:29 ` Cezary Rojewski
2019-08-13 19:19 ` Mark Brown
2019-08-13 8:35 ` [PATCH v2 4/5] dt-bindings: soundwire: add bindings for Qcom controller Srinivas Kandagatla
2019-08-23 7:28 ` Vinod Koul
2019-08-30 8:05 ` Srinivas Kandagatla
2019-08-30 8:05 ` [alsa-devel] " Srinivas Kandagatla
2019-08-13 8:35 ` [PATCH v2 5/5] soundwire: qcom: add support for SoundWire controller Srinivas Kandagatla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=22eff3aa-dfd6-1ee5-8f22-2af492286053@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=bgoswami@codeaurora.org \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=devicetree@vger.kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=plai@codeaurora.org \
--cc=robh+dt@kernel.org \
--cc=spapothi@codeaurora.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.