Skip to content

Commit

Permalink
ASoC: dapm: Don't fold register value changes into notifications
Browse files Browse the repository at this point in the history
[ Upstream commit ad68598 ]

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>
  • Loading branch information
broonie authored and gregkh committed Jun 9, 2022
1 parent 9e29412 commit 314cdb4
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions sound/soc/soc-dapm.c
Expand Up @@ -3430,7 +3430,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,
rconnect);
Expand Down Expand Up @@ -3532,7 +3531,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);

Expand Down

0 comments on commit 314cdb4

Please sign in to comment.