aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/tegra/tegra210_ahub.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2021-11-25 14:35:24 +0100
committerTakashi Iwai <tiwai@suse.de>2021-11-25 14:35:24 +0100
commitdcd46eb7a9571c7d5c3b5da2699787f5bb8077d1 (patch)
tree12d04f8c0df309b1f28116cd70cf9ce38fbeb681 /sound/soc/tegra/tegra210_ahub.c
parentALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec (diff)
parentASoC: SOF: hda: reset DAI widget before reconfiguring it (diff)
downloadlinux-dev-dcd46eb7a9571c7d5c3b5da2699787f5bb8077d1.tar.xz
linux-dev-dcd46eb7a9571c7d5c3b5da2699787f5bb8077d1.zip
Merge tag 'asoc-fix-v5.16-rc3' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.16 There's a large but repetitive set of fixes here for issues with the Tegra kcontrols not correctly reporting changes to userspace, a fix for some issues with matching on older x86 platforms introduced during the merge window together with a set of smaller fixes and one new system quirk.
Diffstat (limited to 'sound/soc/tegra/tegra210_ahub.c')
-rw-r--r--sound/soc/tegra/tegra210_ahub.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/soc/tegra/tegra210_ahub.c b/sound/soc/tegra/tegra210_ahub.c
index a1989eae2b52..388b815443c7 100644
--- a/sound/soc/tegra/tegra210_ahub.c
+++ b/sound/soc/tegra/tegra210_ahub.c
@@ -62,6 +62,7 @@ static int tegra_ahub_put_value_enum(struct snd_kcontrol *kctl,
unsigned int *item = uctl->value.enumerated.item;
unsigned int value = e->values[item[0]];
unsigned int i, bit_pos, reg_idx = 0, reg_val = 0;
+ int change = 0;
if (item[0] >= e->items)
return -EINVAL;
@@ -86,12 +87,14 @@ static int tegra_ahub_put_value_enum(struct snd_kcontrol *kctl,
/* Update widget power if state has changed */
if (snd_soc_component_test_bits(cmpnt, update[i].reg,
- update[i].mask, update[i].val))
- snd_soc_dapm_mux_update_power(dapm, kctl, item[0], e,
- &update[i]);
+ update[i].mask,
+ update[i].val))
+ change |= snd_soc_dapm_mux_update_power(dapm, kctl,
+ item[0], e,
+ &update[i]);
}
- return 0;
+ return change;
}
static struct snd_soc_dai_driver tegra210_ahub_dais[] = {