| From 97db1d59d1ff1ee2cdbbe889e40fd6b95bfdfc68 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 28 Apr 2022 17:18:32 +0100 |
| Subject: ASoC: dapm: Don't fold register value changes into notifications |
| |
| From: Mark Brown <broonie@kernel.org> |
| |
| [ Upstream commit ad685980469b9f9b99d4d6ea05f4cb8f57cb2234 ] |
| |
| DAPM tracks and reports the value presented to the user from DAPM controls |
| separately to the register value, these may diverge during initialisation |
| or when an autodisable control is in use. |
| |
| When writing DAPM controls we currently report that a change has occurred |
| if either the DAPM value or the value stored in the register has changed, |
| meaning that if the two are out of sync we may appear to report a spurious |
| event to userspace. Since we use this folded in value for nothing other |
| than the value reported to userspace simply drop the folding in of the |
| register change. |
| |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Link: https://lore.kernel.org/r/20220428161833.3690050-1-broonie@kernel.org |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| sound/soc/soc-dapm.c | 2 -- |
| 1 file changed, 2 deletions(-) |
| |
| diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c |
| index 878a4fc97f04..40bf50cd87bc 100644 |
| --- a/sound/soc/soc-dapm.c |
| +++ b/sound/soc/soc-dapm.c |
| @@ -3165,7 +3165,6 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, |
| update.val = val; |
| card->update = &update; |
| } |
| - change |= reg_change; |
| |
| ret = soc_dapm_mixer_update_power(card, kcontrol, connect); |
| |
| @@ -3270,7 +3269,6 @@ int snd_soc_dapm_put_enum_double(struct snd_kcontrol *kcontrol, |
| update.val = val; |
| card->update = &update; |
| } |
| - change |= reg_change; |
| |
| ret = soc_dapm_mux_update_power(card, kcontrol, item[0], e); |
| |
| -- |
| 2.35.1 |
| |