From: "Alexey Klimov" <alexey.klimov@linaro.org>
To: "Srinivas Kandagatla" <srinivas.kandagatla@oss.qualcomm.com>,
<vkoul@kernel.org>
Cc: <robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
<srini@kernel.org>, <yung-chuan.liao@linux.intel.com>,
<pierre-louis.bossart@linux.dev>, <linux-arm-msm@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-sound@vger.kernel.org>
Subject: Re: [PATCH v3 0/7] soundwire: qcom: add support for v3.1.0
Date: Fri, 12 Sep 2025 07:04:28 +0100 [thread overview]
Message-ID: <DCQLFI5WVIPR.192CD0VMBLD8Q@linaro.org> (raw)
In-Reply-To: <b7a637d1-8868-40f3-8f82-8f5ab0684d52@oss.qualcomm.com>
On Thu Sep 11, 2025 at 7:16 AM BST, Srinivas Kandagatla wrote:
> Thanks Alexey,
>
> On 9/11/25 1:52 AM, Alexey Klimov wrote:
>> On Thu Sep 4, 2025 at 11:56 AM BST, Srinivas Kandagatla wrote:
>>> This patch series adds support for Qualcomm Soundwire Controller
>>> version v3.1.0.
>>> As part for adding this support, a new macro of_property_read_u8_index()
>>> is added so that we can remove the qcom,din-ports and qcom,dout-ports.
>>> As v3.1.0 supports more than 17 soundwire ports. Also due to change in
>>> the register offsets, new entries are added to the variant data.
>>>
>>> Tested this patchset on X14s and Glymur reference platform.
>>
>> Well, I don't have any Glymur devices and no idea what is
>> x14s (I guess some laptop), but I picked the series locally to test
>> on sm8550, it seems there are some generic changes, and
>> qcom-soundwire probe failed:
>>
>> remoteproc remoteproc1: powering up adsp
>> remoteproc remoteproc1: Booting fw image qcom/sm8550/adsp.mbn, size 8364
>> remoteproc remoteproc1: remote processor adsp is now up
>> qcom,fastrpc 6800000.remoteproc:glink-edge.fastrpcglink-apps-dsp.-1.-1: no reserved DMA memory for FASTRPC
>> PDR: Indication received from msm/adsp/audio_pd, state: 0x1fffffff, trans-id: 1
>> platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@3: Adding to iommu group 12
>> qcom,apr 6800000.remoteproc:glink-edge.adsp_apps.-1.-1: Adding APR/GPR dev: gprsvc:service:2:1
>> platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@4: Adding to iommu group 13
>> qcom,apr 6800000.remoteproc:glink-edge.adsp_apps.-1.-1: Adding APR/GPR dev: gprsvc:service:2:2
>> PDR: Indication received from msm/adsp/charger_pd, state: 0x1fffffff, trans-id: 1
>> platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@5: Adding to iommu group 14
>> platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@6: Adding to iommu group 15
>> platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@7: Adding to iommu group 16
>> qcom-apm gprsvc:service:2:1: CMD timeout for [1001021] opcode
>> platform 6800000.remoteproc:glink-edge:gpr:service@1:dais: Adding to iommu group 17
>> va_macro 6d44000.codec: qcom,dmic-sample-rate dt entry missing
>> qcom-soundwire 6d30000.soundwire: probe with driver qcom-soundwire failed with error -75
>> sched: DL replenish lagged too much
>> platform sound: deferred probe pending: snd-sc8280xp: WCD Playback: codec dai not found
>>
>> Are there any dependencies I am missing?
>
> Can you pl try this change an see if it helps,
>
> ---------------------->cut<----------------------------------
> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
> index a7b6d9ecc3ba..622cc6c31264 100644
> --- a/drivers/soundwire/qcom.c
> +++ b/drivers/soundwire/qcom.c
> @@ -1426,6 +1426,26 @@ static int qcom_swrm_get_port_config(struct
> qcom_swrm_ctrl *ctrl)
> ctrl->num_dout_ports =
> FIELD_GET(SWRM_COMP_PARAMS_DOUT_PORTS_MASK, val);
> ctrl->num_din_ports = FIELD_GET(SWRM_COMP_PARAMS_DIN_PORTS_MASK,
> val);
>
> + ret = of_property_read_u32(np, "qcom,din-ports", &val);
> + if (!ret) { /* only if present */
> + if (val != ctrl->num_din_ports) {
> + dev_err(ctrl->dev, "din-ports (%d) miss match
> with controller (%d)",
> + val, ctrl->num_din_ports);
> + }
> +
> + ctrl->num_din_ports = val;
> + }
> +
> + ret = of_property_read_u32(np, "qcom,dout-ports", &val);
> + if (!ret) { /* only if present */
> + if (val != ctrl->num_dout_ports) {
> + dev_err(ctrl->dev, "dout-ports (%d) miss match
> with controller (%d)",
> + val, ctrl->num_dout_ports);
> + }
> +
> + ctrl->num_dout_ports = val;
> + }
> +
> ctrl->nports = ctrl->num_dout_ports + ctrl->num_din_ports;
>
> ctrl->pconfig = devm_kcalloc(ctrl->dev, ctrl->nports + 1,
>
>
> ---------------------->cut<----------------------------------
Thanks. Yep, with that change it works/inits:
remoteproc remoteproc1: powering up adsp
remoteproc remoteproc1: Booting fw image qcom/sm8550/adsp.mbn, size 8364
remoteproc remoteproc1: remote processor adsp is now up
qcom,fastrpc 6800000.remoteproc:glink-edge.fastrpcglink-apps-dsp.-1.-1: no reserved DMA memory for FASTRPC
PDR: Indication received from msm/adsp/audio_pd, state: 0x1fffffff, trans-id: 1
platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@3: Adding to iommu group 12
qcom,apr 6800000.remoteproc:glink-edge.adsp_apps.-1.-1: Adding APR/GPR dev: gprsvc:service:2:1
platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@4: Adding to iommu group 13
qcom,apr 6800000.remoteproc:glink-edge.adsp_apps.-1.-1: Adding APR/GPR dev: gprsvc:service:2:2
PDR: Indication received from msm/adsp/charger_pd, state: 0x1fffffff, trans-id: 1
platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@5: Adding to iommu group 14
platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@6: Adding to iommu group 15
platform 6800000.remoteproc:glink-edge:fastrpc:compute-cb@7: Adding to iommu group 16
qcom-apm gprsvc:service:2:1: CMD timeout for [1001021] opcode
platform 6800000.remoteproc:glink-edge:gpr:service@1:dais: Adding to iommu group 17
va_macro 6d44000.codec: qcom,dmic-sample-rate dt entry missing
qcom-soundwire 6d30000.soundwire: dout-ports (0) miss match with controller (1)
wcd938x_codec audio-codec: bound sdw:2:0:0217:010d:00:4 (ops wcd938x_sdw_component_ops [snd_soc_wcd938x_sdw])
wcd938x_codec audio-codec: bound sdw:3:0:0217:010d:00:3 (ops wcd938x_sdw_component_ops [snd_soc_wcd938x_sdw])
snd-sc8280xp sound: ASoC: Parent card not yet available, widget card binding deferred
va_macro 6d44000.codec: supply vdd-micb not found, using dummy regulator
ALSA: Control name 'stream0.vol_ctrl0 MultiMedia1 Playback Volume' truncated to 'stream0.vol_ctrl0 MultiMedia1 Playback Volu'
ALSA: Control name 'stream1.vol_ctrl1 MultiMedia2 Playback Volume' truncated to 'stream1.vol_ctrl1 MultiMedia2 Playback Volu'
ALSA: Control name 'stream4.vol_ctrl4 MultiMedia5 Playback Volume' truncated to 'stream4.vol_ctrl4 MultiMedia5 Playback Volu'
input: SM8550-QRD Headset Jack as /devices/platform/sound/sound/card0/input4
Playback works. Note the ports mismatch message ^^^
Thanks,
Alexey
next prev parent reply other threads:[~2025-09-12 6:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-04 10:56 [PATCH v3 0/7] soundwire: qcom: add support for v3.1.0 Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 1/7] of: base: Add of_property_read_u8_index Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 2/7] soundwire: qcom: remove unused rd_fifo_depth Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 3/7] dt-bindings: soundwire: qcom: deprecate qcom,din/out-ports Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 4/7] " Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 5/7] soundwire: qcom: prepare for v3.x Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 6/7] dt-bindings: soundwire: qcom: Document v3.1.0 version of IP block Srinivas Kandagatla
2025-09-04 10:56 ` [PATCH v3 7/7] soundwire: qcom: adding support for v3.1.0 Srinivas Kandagatla
2025-09-11 0:52 ` [PATCH v3 0/7] soundwire: qcom: add " Alexey Klimov
2025-09-11 5:49 ` Srinivas Kandagatla
2025-09-11 5:56 ` Srinivas Kandagatla
2025-09-11 6:31 ` Krzysztof Kozlowski
2025-09-11 9:05 ` Srinivas Kandagatla
2025-09-11 6:16 ` Srinivas Kandagatla
2025-09-12 6:04 ` Alexey Klimov [this message]
2025-09-12 8:24 ` 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=DCQLFI5WVIPR.192CD0VMBLD8Q@linaro.org \
--to=alexey.klimov@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=pierre-louis.bossart@linux.dev \
--cc=robh@kernel.org \
--cc=srini@kernel.org \
--cc=srinivas.kandagatla@oss.qualcomm.com \
--cc=vkoul@kernel.org \
--cc=yung-chuan.liao@linux.intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox