* [PATCH] ASoC: tac5xx2-sdw: Use SoundWire init wait helper
@ 2026-05-14 13:16 Cássio Gabriel
2026-05-14 13:19 ` Cássio Gabriel Monteiro Pires
0 siblings, 1 reply; 2+ messages in thread
From: Cássio Gabriel @ 2026-05-14 13:16 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Takashi Iwai, Jaroslav Kysela
Cc: linux-sound, linux-kernel, Cássio Gabriel
The runtime-resume path open-codes the same SoundWire re-enumeration
wait now provided by sdw_slave_wait_for_init(): check whether an
unattach was requested, wait for initialization_complete, report timeout
status, and clear unattach_request on success.
Use the helper to match the other SoundWire codec drivers and keep the
runtime-resume unattach handling in the SoundWire core.
Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
---
sound/soc/codecs/tac5xx2-sdw.c | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/sound/soc/codecs/tac5xx2-sdw.c b/sound/soc/codecs/tac5xx2-sdw.c
index 917b36ac1cd3..bb12cfb6da12 100644
--- a/sound/soc/codecs/tac5xx2-sdw.c
+++ b/sound/soc/codecs/tac5xx2-sdw.c
@@ -1437,7 +1437,6 @@ static s32 tac5xx2_sdca_dev_resume(struct device *dev)
{
struct tac5xx2_prv *tac_dev = dev_get_drvdata(dev);
struct sdw_slave *slave = dev_to_sdw_dev(dev);
- unsigned long t;
int ret;
if (!tac_dev->first_hw_init_done) {
@@ -1445,19 +1444,10 @@ static s32 tac5xx2_sdca_dev_resume(struct device *dev)
return 0;
}
- if (!slave->unattach_request)
- goto regmap_sync;
-
- t = wait_for_completion_timeout(&slave->initialization_complete,
- msecs_to_jiffies(TAC5XX2_PROBE_TIMEOUT_MS));
- if (!t) {
- dev_err(&slave->dev, "resume: initialization timed out\n");
- sdw_show_ping_status(slave->bus, true);
- return -ETIMEDOUT;
- }
- slave->unattach_request = 0;
+ ret = sdw_slave_wait_for_init(slave, TAC5XX2_PROBE_TIMEOUT_MS);
+ if (ret)
+ return ret;
-regmap_sync:
regcache_cache_only(tac_dev->regmap, false);
regcache_mark_dirty(tac_dev->regmap);
ret = regcache_sync(tac_dev->regmap);
---
base-commit: eeecc92a9f1dd213dd52d9b8f42d155595b1d278
change-id: 20260514-asoc-tac5xx2-sdw-init-helper-5c2363020069
Best regards,
--
Cássio Gabriel <cassiogabrielcontato@gmail.com>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ASoC: tac5xx2-sdw: Use SoundWire init wait helper
2026-05-14 13:16 [PATCH] ASoC: tac5xx2-sdw: Use SoundWire init wait helper Cássio Gabriel
@ 2026-05-14 13:19 ` Cássio Gabriel Monteiro Pires
0 siblings, 0 replies; 2+ messages in thread
From: Cássio Gabriel Monteiro Pires @ 2026-05-14 13:19 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Takashi Iwai, Jaroslav Kysela
Cc: linux-sound, linux-kernel
[-- Attachment #1.1: Type: text/plain, Size: 2211 bytes --]
On 5/14/26 10:16, Cássio Gabriel wrote:
> The runtime-resume path open-codes the same SoundWire re-enumeration
> wait now provided by sdw_slave_wait_for_init(): check whether an
> unattach was requested, wait for initialization_complete, report timeout
> status, and clear unattach_request on success.
>
> Use the helper to match the other SoundWire codec drivers and keep the
> runtime-resume unattach handling in the SoundWire core.
>
> Signed-off-by: Cássio Gabriel <cassiogabrielcontato@gmail.com>
> ---
> sound/soc/codecs/tac5xx2-sdw.c | 16 +++-------------
> 1 file changed, 3 insertions(+), 13 deletions(-)
>
> diff --git a/sound/soc/codecs/tac5xx2-sdw.c b/sound/soc/codecs/tac5xx2-sdw.c
> index 917b36ac1cd3..bb12cfb6da12 100644
> --- a/sound/soc/codecs/tac5xx2-sdw.c
> +++ b/sound/soc/codecs/tac5xx2-sdw.c
> @@ -1437,7 +1437,6 @@ static s32 tac5xx2_sdca_dev_resume(struct device *dev)
> {
> struct tac5xx2_prv *tac_dev = dev_get_drvdata(dev);
> struct sdw_slave *slave = dev_to_sdw_dev(dev);
> - unsigned long t;
> int ret;
>
> if (!tac_dev->first_hw_init_done) {
> @@ -1445,19 +1444,10 @@ static s32 tac5xx2_sdca_dev_resume(struct device *dev)
> return 0;
> }
>
> - if (!slave->unattach_request)
> - goto regmap_sync;
> -
> - t = wait_for_completion_timeout(&slave->initialization_complete,
> - msecs_to_jiffies(TAC5XX2_PROBE_TIMEOUT_MS));
> - if (!t) {
> - dev_err(&slave->dev, "resume: initialization timed out\n");
> - sdw_show_ping_status(slave->bus, true);
> - return -ETIMEDOUT;
> - }
> - slave->unattach_request = 0;
> + ret = sdw_slave_wait_for_init(slave, TAC5XX2_PROBE_TIMEOUT_MS);
> + if (ret)
> + return ret;
>
> -regmap_sync:
> regcache_cache_only(tac_dev->regmap, false);
> regcache_mark_dirty(tac_dev->regmap);
> ret = regcache_sync(tac_dev->regmap);
>
> ---
> base-commit: eeecc92a9f1dd213dd52d9b8f42d155595b1d278
> change-id: 20260514-asoc-tac5xx2-sdw-init-helper-5c2363020069
>
> Best regards,
> --
> Cássio Gabriel <cassiogabrielcontato@gmail.com>
Sorry, please disregard this.
I just noticed that the patch changing this has already been sent.
--
Thanks,
Cássio
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-14 13:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 13:16 [PATCH] ASoC: tac5xx2-sdw: Use SoundWire init wait helper Cássio Gabriel
2026-05-14 13:19 ` Cássio Gabriel Monteiro Pires
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox