Linux Sound subsystem development
 help / color / mirror / Atom feed
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



  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