[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2758401b-e9b5-4f10-bb01-0a1fe4e09430@oss.qualcomm.com>
Date: Mon, 24 Nov 2025 14:08:12 +0000
From: Srinivas Kandagatla <srinivas.kandagatla@....qualcomm.com>
To: Jonathan Marek <jonathan@...ek.ca>, linux-arm-msm@...r.kernel.org
Cc: Srinivas Kandagatla <srini@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>,
"open list:QCOM AUDIO (ASoC) DRIVERS" <linux-sound@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/6] ASoC: codecs: wsa884x: remove mute_unmute_on_trigger
On 11/24/25 6:45 AM, Jonathan Marek wrote:
> trigger is atomic (non-schedulable), and soundwire register writes are not
> safe to run in an atomic context. (bus is locked with a mutex, and qcom
> driver's callback can also sleep if the FIFO is full).
>
Thanks Jonathan for the patch,
We have nonatomic=1 flag set for all the Qualcomm sound cards, Did you
hit any schedule while atomic bug?
In-fact this change has helped suppress most of the click and pop noises
on laptops, specially with wsa codecs as they accumulate static if the
ports are kept open without sending any data.
--srini
> The important part of fixing the click/pop issue was removing the PA_EN
> writes from the dapm events, AFAICT this flag doesn't help anyway.
>
> Fixes: 28b0b18d5346 ("ASoC: codec: wsa884x: make use of new mute_unmute_on_trigger flag")
> Signed-off-by: Jonathan Marek <jonathan@...ek.ca>
> ---
> sound/soc/codecs/wsa884x.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/sound/soc/codecs/wsa884x.c b/sound/soc/codecs/wsa884x.c
> index 2484d4b8e2d94..0218dfc13bc77 100644
> --- a/sound/soc/codecs/wsa884x.c
> +++ b/sound/soc/codecs/wsa884x.c
> @@ -1840,7 +1840,6 @@ static const struct snd_soc_dai_ops wsa884x_dai_ops = {
> .hw_free = wsa884x_hw_free,
> .mute_stream = wsa884x_mute_stream,
> .set_stream = wsa884x_set_stream,
> - .mute_unmute_on_trigger = true,
> };
>
> static struct snd_soc_dai_driver wsa884x_dais[] = {
Powered by blists - more mailing lists