From: <qianghua.wang@senarytech.com>
To: "'Mark Brown'" <broonie@kernel.org>
Cc: <linux-sound@vger.kernel.org>,
"'Pierre-Louis Bossart'" <pierre-louis.bossart@linux.dev>,
"'Bard Liao'" <yung-chuan.liao@linux.intel.com>,
"'Liam Girdwood'" <liam.r.girdwood@linux.intel.com>,
"'Peter Ujfalusi'" <peter.ujfalusi@linux.intel.com>,
"'Kai Vehmanen'" <kai.vehmanen@linux.intel.com>,
"'Cezary Rojewski'" <cezary.rojewski@intel.com>,
"'bo liu'" <bo.liu@senarytech.com>
Subject: reply [PATCH v3 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver
Date: Mon, 17 Aug 2026 11:10:22 +0800 [thread overview]
Message-ID: <00e501dd2df5$f12bf450$d383dcf0$@senarytech.com> (raw)
In-Reply-To: <4b1dedc3-91b4-4905-a402-d67e41bddfd5@sirena.org.uk>
Hi Mark:
Thanks for the review and for taking this through CI for the merge
window.
On runtime PM: agreed. Enabling it unconditionally from probe after
register_component() allowed set_jack() to run before RPM was enabled,which
can mismatch get/put counts relative to remove()'sfirst_hw_init-gated
pm_runtime_disable(). I'll send an incremental fix that enables runtime PM
from io_init() on first ATTACHED instead,and keeps set_jack() from using
runtime PM until then.
On the build break: thanks for the log. The SN624x call sites need to match
the current sdca_asoc_pde_poll_actual_ps() / sdca_parse_function()
prototypes (drop the unused device argument and the SoundWire slaveargument
respectively). That will be in the same incremental series. I've also
re-tested on the LG Wildcat Lake / PTL machine after thesefixes; audio comes
up normally.
Incremental patches shortly.
Best regards
Qianghua Wang
Re: [PATCH v3 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver
On Fri, Aug 14, 2026 at 10:56:48AM +0800, Qianghua Wang wrote:
> Add a SoundWire SDCA driver for Senary SN624x multi-function codecs
> (jack, speaker amp, and DMIC). Program SDCA SampleFreqIndex in
> hw_params, keep SDCA jack IRQs masked with poll-based detection, and
> extend the Senary MAINTAINERS entry for the new codec files only.
This looks mostly fine but you have some issues around when runtime PM is
enabled.
> + ret = devm_snd_soc_register_component(dev,
> + &soc_sdca_dev_sn624x,
sn624x_sdca_dai,
> + ARRAY_SIZE(sn624x_sdca_dai));
> + if (ret < 0)
> + return ret;
> +
> + pm_runtime_set_autosuspend_delay(dev, 3000);
> + pm_runtime_use_autosuspend(dev);
> + pm_runtime_mark_last_busy(dev);
> + pm_runtime_enable(dev);
The component is registered before we enable runtime PM, this means that
things like jack detection that try to use runtime PM could get run before
it gets enabled which will result in bugs with mismatched counts or missing
references.
> +static void sn624x_sdca_sdw_remove(struct sdw_slave *slave) {
> + struct sn624x_sdca_priv *sn624x = dev_get_drvdata(&slave->dev);
> +
> + SN624X_DBG(&slave->dev, "SoundWire driver remove\n");
> + cancel_delayed_work_sync(&sn624x->jack_detect_work);
> + sn624x_jack_rpm_put(sn624x);
> + if (sn624x->first_hw_init)
> + pm_runtime_disable(&slave->dev);
> + mutex_destroy(&sn624x->disable_irq_lock);
> +}
The runtime PM enable is unconditional in the probe.
Since fixing these would be relatively small changes code wise I'll push
this into CI, assuming it goes OK there I'll apply so the driver makes the
merge window - please send incremental fixes for this and anything else that
gets noticed.
next prev parent reply other threads:[~2026-08-17 3:15 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-14 2:56 [PATCH v3 0/3] ASoC: add Senary SN624x SoundWire SDCA support Qianghua Wang
2026-08-14 2:56 ` [PATCH v3 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver Qianghua Wang
2026-08-14 17:15 ` Mark Brown
2026-08-17 3:10 ` qianghua.wang [this message]
2026-08-17 11:47 ` reply " Mark Brown
2026-08-17 3:23 ` [PATCH 1/2] ASoC: codecs: sn624x: enable runtime PM on first attach Qianghua Wang
2026-08-17 3:23 ` [PATCH 2/2] ASoC: codecs: sn624x: update SDCA helper call sites Qianghua Wang
2026-08-14 19:12 ` [PATCH v3 1/3] ASoC: codecs: add SN624x SDCA SoundWire driver Mark Brown
2026-08-14 2:56 ` [PATCH v3 2/3] ASoC: sdw_utils: add Senary SN624x helpers and codec_info Qianghua Wang
2026-08-14 2:56 ` [PATCH v3 3/3] ASoC: Intel: soc-acpi: add SN624x entries for ARL/LNL/MTL/PTL Qianghua Wang
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='00e501dd2df5$f12bf450$d383dcf0$@senarytech.com' \
--to=qianghua.wang@senarytech.com \
--cc=bo.liu@senarytech.com \
--cc=broonie@kernel.org \
--cc=cezary.rojewski@intel.com \
--cc=kai.vehmanen@linux.intel.com \
--cc=liam.r.girdwood@linux.intel.com \
--cc=linux-sound@vger.kernel.org \
--cc=peter.ujfalusi@linux.intel.com \
--cc=pierre-louis.bossart@linux.dev \
--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 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.