* [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs
@ 2023-10-19 15:35 Krzysztof Kozlowski
2023-10-19 15:35 ` [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS Krzysztof Kozlowski
2023-10-23 8:37 ` [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Srinivas Kandagatla
0 siblings, 2 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-19 15:35 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Srinivas Kandagatla, Banajit Goswami, Jaroslav Kysela,
Takashi Iwai, linux-arm-msm, alsa-devel, devicetree,
linux-kernel
Cc: Krzysztof Kozlowski
Add defines for audio ports used on Qualcomm WSA2 LPASS (Low Power
Audio SubSystem).
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
index 39f203256c4f..c5ea35abf129 100644
--- a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
+++ b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
@@ -139,6 +139,11 @@
#define DISPLAY_PORT_RX_5 133
#define DISPLAY_PORT_RX_6 134
#define DISPLAY_PORT_RX_7 135
+#define WSA2_CODEC_DMA_RX_0 136
+#define WSA2_CODEC_DMA_TX_0 137
+#define WSA2_CODEC_DMA_RX_1 138
+#define WSA2_CODEC_DMA_TX_1 139
+#define WSA2_CODEC_DMA_TX_2 140
#define LPASS_CLK_ID_PRI_MI2S_IBIT 1
#define LPASS_CLK_ID_PRI_MI2S_EBIT 2
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS
2023-10-19 15:35 [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Krzysztof Kozlowski
@ 2023-10-19 15:35 ` Krzysztof Kozlowski
2023-10-21 17:40 ` Konrad Dybcio
2023-10-23 8:37 ` [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Srinivas Kandagatla
1 sibling, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-19 15:35 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Srinivas Kandagatla, Banajit Goswami, Jaroslav Kysela,
Takashi Iwai, linux-arm-msm, alsa-devel, devicetree,
linux-kernel
Cc: Krzysztof Kozlowski
Add support for Qualcomm WSA2 LPASS (Low Power Audio SubSystem) audio
ports to several Qualcomm ADSP drivers: Q6APM LPASS DAIs, Q6DSP LPASS
ports and shared Q6DSP Soundwire code.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 5 +++++
sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 6 ++++++
sound/soc/qcom/sdw.c | 5 +++++
3 files changed, 16 insertions(+)
diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c
index c5e065a21e27..2ae10f9dc78e 100644
--- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c
+++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c
@@ -36,6 +36,9 @@ static int q6dma_set_channel_map(struct snd_soc_dai *dai,
case WSA_CODEC_DMA_TX_0:
case WSA_CODEC_DMA_TX_1:
case WSA_CODEC_DMA_TX_2:
+ case WSA2_CODEC_DMA_TX_0:
+ case WSA2_CODEC_DMA_TX_1:
+ case WSA2_CODEC_DMA_TX_2:
case VA_CODEC_DMA_TX_0:
case VA_CODEC_DMA_TX_1:
case VA_CODEC_DMA_TX_2:
@@ -60,6 +63,8 @@ static int q6dma_set_channel_map(struct snd_soc_dai *dai,
break;
case WSA_CODEC_DMA_RX_0:
case WSA_CODEC_DMA_RX_1:
+ case WSA2_CODEC_DMA_RX_0:
+ case WSA2_CODEC_DMA_RX_1:
case RX_CODEC_DMA_RX_0:
case RX_CODEC_DMA_RX_1:
case RX_CODEC_DMA_RX_2:
diff --git a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c
index 4919001de08b..a6502884531d 100644
--- a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c
+++ b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c
@@ -557,6 +557,11 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] = {
Q6AFE_CDC_DMA_RX_DAI(WSA_CODEC_DMA_RX_1),
Q6AFE_CDC_DMA_TX_DAI(WSA_CODEC_DMA_TX_1),
Q6AFE_CDC_DMA_TX_DAI(WSA_CODEC_DMA_TX_2),
+ Q6AFE_CDC_DMA_RX_DAI(WSA2_CODEC_DMA_RX_0),
+ Q6AFE_CDC_DMA_TX_DAI(WSA2_CODEC_DMA_TX_0),
+ Q6AFE_CDC_DMA_RX_DAI(WSA2_CODEC_DMA_RX_1),
+ Q6AFE_CDC_DMA_TX_DAI(WSA2_CODEC_DMA_TX_1),
+ Q6AFE_CDC_DMA_TX_DAI(WSA2_CODEC_DMA_TX_2),
Q6AFE_CDC_DMA_TX_DAI(VA_CODEC_DMA_TX_0),
Q6AFE_CDC_DMA_TX_DAI(VA_CODEC_DMA_TX_1),
Q6AFE_CDC_DMA_TX_DAI(VA_CODEC_DMA_TX_2),
@@ -622,6 +627,7 @@ struct snd_soc_dai_driver *q6dsp_audio_ports_set_config(struct device *dev,
q6dsp_audio_fe_dais[i].ops = cfg->q6tdm_ops;
break;
case WSA_CODEC_DMA_RX_0 ... RX_CODEC_DMA_RX_7:
+ case WSA2_CODEC_DMA_RX_0 ... WSA2_CODEC_DMA_TX_2:
q6dsp_audio_fe_dais[i].ops = cfg->q6dma_ops;
break;
default:
diff --git a/sound/soc/qcom/sdw.c b/sound/soc/qcom/sdw.c
index 1a41419c7eb8..612865b26f88 100644
--- a/sound/soc/qcom/sdw.c
+++ b/sound/soc/qcom/sdw.c
@@ -21,6 +21,8 @@ int qcom_snd_sdw_prepare(struct snd_pcm_substream *substream,
switch (cpu_dai->id) {
case WSA_CODEC_DMA_RX_0:
case WSA_CODEC_DMA_RX_1:
+ case WSA2_CODEC_DMA_RX_0:
+ case WSA2_CODEC_DMA_RX_1:
case RX_CODEC_DMA_RX_0:
case RX_CODEC_DMA_RX_1:
case TX_CODEC_DMA_TX_0:
@@ -70,6 +72,7 @@ int qcom_snd_sdw_hw_params(struct snd_pcm_substream *substream,
switch (cpu_dai->id) {
case WSA_CODEC_DMA_RX_0:
+ case WSA2_CODEC_DMA_RX_0:
case RX_CODEC_DMA_RX_0:
case RX_CODEC_DMA_RX_1:
case TX_CODEC_DMA_TX_0:
@@ -98,6 +101,8 @@ int qcom_snd_sdw_hw_free(struct snd_pcm_substream *substream,
switch (cpu_dai->id) {
case WSA_CODEC_DMA_RX_0:
case WSA_CODEC_DMA_RX_1:
+ case WSA2_CODEC_DMA_RX_0:
+ case WSA2_CODEC_DMA_RX_1:
case RX_CODEC_DMA_RX_0:
case RX_CODEC_DMA_RX_1:
case TX_CODEC_DMA_TX_0:
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS
2023-10-19 15:35 ` [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS Krzysztof Kozlowski
@ 2023-10-21 17:40 ` Konrad Dybcio
2023-10-22 15:59 ` Krzysztof Kozlowski
0 siblings, 1 reply; 7+ messages in thread
From: Konrad Dybcio @ 2023-10-21 17:40 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andy Gross, Bjorn Andersson, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Srinivas Kandagatla, Banajit Goswami, Jaroslav Kysela,
Takashi Iwai, linux-arm-msm, alsa-devel, devicetree,
linux-kernel
On 10/19/23 17:35, Krzysztof Kozlowski wrote:
> Add support for Qualcomm WSA2 LPASS (Low Power Audio SubSystem) audio
> ports to several Qualcomm ADSP drivers: Q6APM LPASS DAIs, Q6DSP LPASS
> ports and shared Q6DSP Soundwire code.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
Wouldn't
sound/soc/qcom/qdsp6/q6afe.c
sound/soc/qcom/qdsp6/q6routing.c
sound/soc/qcom/qdsp6/q6afe-dai.c
also require updates?
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS
2023-10-21 17:40 ` Konrad Dybcio
@ 2023-10-22 15:59 ` Krzysztof Kozlowski
0 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-22 15:59 UTC (permalink / raw)
To: Konrad Dybcio, Andy Gross, Bjorn Andersson, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Srinivas Kandagatla, Banajit Goswami, Jaroslav Kysela,
Takashi Iwai, linux-arm-msm, alsa-devel, devicetree,
linux-kernel
On 21/10/2023 19:40, Konrad Dybcio wrote:
>
>
> On 10/19/23 17:35, Krzysztof Kozlowski wrote:
>> Add support for Qualcomm WSA2 LPASS (Low Power Audio SubSystem) audio
>> ports to several Qualcomm ADSP drivers: Q6APM LPASS DAIs, Q6DSP LPASS
>> ports and shared Q6DSP Soundwire code.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> ---
> Wouldn't
>
> sound/soc/qcom/qdsp6/q6afe.c
> sound/soc/qcom/qdsp6/q6routing.c
> sound/soc/qcom/qdsp6/q6afe-dai.c
>
> also require updates?
Not sure, these are older audio blocks (pre-audioreach), so I have never
investigated if they have WSA2.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs
2023-10-19 15:35 [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Krzysztof Kozlowski
2023-10-19 15:35 ` [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS Krzysztof Kozlowski
@ 2023-10-23 8:37 ` Srinivas Kandagatla
2023-10-23 11:41 ` Krzysztof Kozlowski
1 sibling, 1 reply; 7+ messages in thread
From: Srinivas Kandagatla @ 2023-10-23 8:37 UTC (permalink / raw)
To: Krzysztof Kozlowski, Andy Gross, Bjorn Andersson, Konrad Dybcio,
Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Banajit Goswami, Jaroslav Kysela, Takashi Iwai,
linux-arm-msm, alsa-devel, devicetree, linux-kernel
Hi Krzysztof,
On 19/10/2023 16:35, Krzysztof Kozlowski wrote:
> Add defines for audio ports used on Qualcomm WSA2 LPASS (Low Power
> Audio SubSystem).
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
> index 39f203256c4f..c5ea35abf129 100644
> --- a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
> +++ b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
> @@ -139,6 +139,11 @@
> #define DISPLAY_PORT_RX_5 133
> #define DISPLAY_PORT_RX_6 134
> #define DISPLAY_PORT_RX_7 135
> +#define WSA2_CODEC_DMA_RX_0 136
> +#define WSA2_CODEC_DMA_TX_0 137
> +#define WSA2_CODEC_DMA_RX_1 138
> +#define WSA2_CODEC_DMA_TX_1 139
> +#define WSA2_CODEC_DMA_TX_2 140
>
Patches looks fine as it is, but do you realize that this s a dead code
w.r.t upstream.
WSA2 is used only with 4 speaker setup and in such cases we use WSA
codec dma to drive 4 channels.
So WSA2 will not be used by itself.
I would prefer support for this to be added when we are really able to
test WSA2 by itself.
thanks,
Srini
> #define LPASS_CLK_ID_PRI_MI2S_IBIT 1
> #define LPASS_CLK_ID_PRI_MI2S_EBIT 2
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs
2023-10-23 8:37 ` [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Srinivas Kandagatla
@ 2023-10-23 11:41 ` Krzysztof Kozlowski
2026-01-26 15:28 ` neil.armstrong
0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-10-23 11:41 UTC (permalink / raw)
To: Srinivas Kandagatla, Andy Gross, Bjorn Andersson, Konrad Dybcio,
Liam Girdwood, Mark Brown, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Banajit Goswami, Jaroslav Kysela, Takashi Iwai,
linux-arm-msm, alsa-devel, devicetree, linux-kernel
On 23/10/2023 10:37, Srinivas Kandagatla wrote:
> Hi Krzysztof,
>
> On 19/10/2023 16:35, Krzysztof Kozlowski wrote:
>> Add defines for audio ports used on Qualcomm WSA2 LPASS (Low Power
>> Audio SubSystem).
>>
>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> ---
>> include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
>> index 39f203256c4f..c5ea35abf129 100644
>> --- a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
>> +++ b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
>> @@ -139,6 +139,11 @@
>> #define DISPLAY_PORT_RX_5 133
>> #define DISPLAY_PORT_RX_6 134
>> #define DISPLAY_PORT_RX_7 135
>> +#define WSA2_CODEC_DMA_RX_0 136
>> +#define WSA2_CODEC_DMA_TX_0 137
>> +#define WSA2_CODEC_DMA_RX_1 138
>> +#define WSA2_CODEC_DMA_TX_1 139
>> +#define WSA2_CODEC_DMA_TX_2 140
>>
>
> Patches looks fine as it is, but do you realize that this s a dead code
> w.r.t upstream.
> WSA2 is used only with 4 speaker setup and in such cases we use WSA
> codec dma to drive 4 channels.
>
> So WSA2 will not be used by itself.
> I would prefer support for this to be added when we are really able to
> test WSA2 by itself.
OK, the patchset can be ignored.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs
2023-10-23 11:41 ` Krzysztof Kozlowski
@ 2026-01-26 15:28 ` neil.armstrong
0 siblings, 0 replies; 7+ messages in thread
From: neil.armstrong @ 2026-01-26 15:28 UTC (permalink / raw)
To: Andy Gross, Bjorn Andersson, Konrad Dybcio, Liam Girdwood,
Mark Brown, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Banajit Goswami, Jaroslav Kysela, Takashi Iwai, linux-arm-msm,
alsa-devel, devicetree, linux-kernel, Srinivas Kandagatla,
Krzysztof Kozlowski, ravi.hothi, 向 日葵
[replaced krzk's and srini's adresses with korg ones]
On 10/23/23 13:41, Krzysztof Kozlowski wrote:
> On 23/10/2023 10:37, Srinivas Kandagatla wrote:
>> Hi Krzysztof,
>>
>> On 19/10/2023 16:35, Krzysztof Kozlowski wrote:
>>> Add defines for audio ports used on Qualcomm WSA2 LPASS (Low Power
>>> Audio SubSystem).
>>>
>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>> ---
>>> include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 5 +++++
>>> 1 file changed, 5 insertions(+)
>>>
>>> diff --git a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
>>> index 39f203256c4f..c5ea35abf129 100644
>>> --- a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
>>> +++ b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
>>> @@ -139,6 +139,11 @@
>>> #define DISPLAY_PORT_RX_5 133
>>> #define DISPLAY_PORT_RX_6 134
>>> #define DISPLAY_PORT_RX_7 135
>>> +#define WSA2_CODEC_DMA_RX_0 136
>>> +#define WSA2_CODEC_DMA_TX_0 137
>>> +#define WSA2_CODEC_DMA_RX_1 138
>>> +#define WSA2_CODEC_DMA_TX_1 139
>>> +#define WSA2_CODEC_DMA_TX_2 140
>>>
>>
>> Patches looks fine as it is, but do you realize that this s a dead code
>> w.r.t upstream.
>> WSA2 is used only with 4 speaker setup and in such cases we use WSA
>> codec dma to drive 4 channels.
>>
>> So WSA2 will not be used by itself.
>> I would prefer support for this to be added when we are really able to
>> test WSA2 by itself.
Sorry to dig a very old thread, but I'm hitting an issue with this on the Ayaneo Pocket S2.
The soundwire speakers are connected to the swr3 which is connected to WSA2, but nothing is connected
to swr0, so in order to play audio on those speakers the channel mask should be set to 1100, the lower
bits representing the WSA channels and the upper bits the WSA2 channels.
In the current setup, we can only pass num_channels, which will fill the mask as:
active_channels_mask = (1 << cfg->num_channels) - 1
So it's currently impossible to setup the mask for WSA2 only, and since the WSA2 lpaif_type doesn't exist
we cannot use that either.. With some small hack in sound/soc/qcom/qdsp6/audioreach.c we can set the mask correctly
but could you help figure out a proper way to handle this ?
I guess that in addition to min-channels & max-channels of DEVICE_SG_ADD() we could pass a mask ?
Neil
>
> OK, the patchset can be ignored.
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-01-26 15:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-19 15:35 [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Krzysztof Kozlowski
2023-10-19 15:35 ` [PATCH 2/2] ASoC: qcom: Add support for WSA2 LPASS Krzysztof Kozlowski
2023-10-21 17:40 ` Konrad Dybcio
2023-10-22 15:59 ` Krzysztof Kozlowski
2023-10-23 8:37 ` [PATCH 1/2] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add WSA2 audio ports IDs Srinivas Kandagatla
2023-10-23 11:41 ` Krzysztof Kozlowski
2026-01-26 15:28 ` neil.armstrong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®