]> git.dujemihanovic.xyz Git - linux.git/commitdiff
ASoC: tegra: Fix kcontrol put callback in AMX
authorSameer Pujar <spujar@nvidia.com>
Thu, 18 Nov 2021 07:07:09 +0000 (12:37 +0530)
committerMark Brown <broonie@kernel.org>
Thu, 18 Nov 2021 19:02:42 +0000 (19:02 +0000)
The kcontrol put callback is expected to return 1 when there is change
in HW or when the update is acknowledged by driver. This would ensure
that change notifications are sent to subscribed applications. Filter
out duplicate updates in AMX driver.

Fixes: 77f7df346c45 ("ASoC: tegra: Add Tegra210 based AMX driver")
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Suggested-by: Jaroslav Kysela <perex@perex.cz>
Suggested-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/1637219231-406-15-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/tegra/tegra210_amx.c

index af9bddfc312073d70ded76d3deffb2d5bf637fe7..689576302ede1aee1f2c8976f642df7a9a1a1fe3 100644 (file)
@@ -222,6 +222,9 @@ static int tegra210_amx_put_byte_map(struct snd_kcontrol *kcontrol,
        int reg = mc->reg;
        int value = ucontrol->value.integer.value[0];
 
+       if (value == bytes_map[reg])
+               return 0;
+
        if (value >= 0 && value <= 255) {
                /* Update byte map and enable slot */
                bytes_map[reg] = value;