summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/tas2770.h
diff options
context:
space:
mode:
authorMartin Povišer <povik+lin@cutebit.org>2022-08-08 16:12:46 +0200
committerMark Brown <broonie@kernel.org>2022-08-08 21:44:42 +0200
commit1e5907bcb3a3b569be0a03ebe668bba2ed320a50 (patch)
tree0dc0dc81791b19d6f2495c08f75962ede757d206 /sound/soc/codecs/tas2770.h
parentASoC: tas2770: Drop conflicting set_bias_level power setting (diff)
downloadlinux-1e5907bcb3a3b569be0a03ebe668bba2ed320a50.tar.xz
linux-1e5907bcb3a3b569be0a03ebe668bba2ed320a50.zip
ASoC: tas2770: Fix handling of mute/unmute
Because the PWR_CTRL field is modeled as the power state of the DAC widget, and at the same time it is used to implement mute/unmute, we need some additional book-keeping to have the right end result no matter the sequence of calls. Without this fix, one can mute an ongoing stream by toggling a speaker pin control. Fixes: 1a476abc723e ("tas2770: add tas2770 smart PA kernel driver") Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Link: https://lore.kernel.org/r/20220808141246.5749-5-povik+lin@cutebit.org Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/tas2770.h')
-rw-r--r--sound/soc/codecs/tas2770.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/codecs/tas2770.h b/sound/soc/codecs/tas2770.h
index d51e88d8c338..f75f40781ab1 100644
--- a/sound/soc/codecs/tas2770.h
+++ b/sound/soc/codecs/tas2770.h
@@ -138,6 +138,8 @@ struct tas2770_priv {
struct device *dev;
int v_sense_slot;
int i_sense_slot;
+ bool dac_powered;
+ bool unmuted;
};
#endif /* __TAS2770__ */