diff options
author | Daniel Beer <daniel.beer@igorinstitute.com> | 2022-10-27 21:38:38 +1300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-02-06 13:12:32 +0000 |
commit | e0576cd642ced1ac65370b4516b7be9f536a0498 (patch) | |
tree | a1bce02500a98ae43b2de7bf829a2582434657e9 | |
parent | 147323792693bf013f60dca160be1d32bd4d180a (diff) | |
download | linux-stable-e0576cd642ced1ac65370b4516b7be9f536a0498.tar.gz linux-stable-e0576cd642ced1ac65370b4516b7be9f536a0498.tar.bz2 linux-stable-e0576cd642ced1ac65370b4516b7be9f536a0498.zip |
ASoC: tas5805m: add missing page switch.
In tas5805m_refresh, we switch pages to update the DSP volume control,
but we need to switch back to page 0 before trying to alter the
soft-mute control. This latter page-switch was missing.
Fixes: ec45268467f4 ("ASoC: add support for TAS5805M digital amplifier")
Signed-off-by: Daniel Beer <daniel.beer@igorinstitute.com>
Link: https://lore.kernel.org/r/1fea38a71ea6ab0225d19ab28d1fa12828d762d0.1675497326.git.daniel.beer@igorinstitute.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/tas5805m.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/tas5805m.c b/sound/soc/codecs/tas5805m.c index 6e2edf045446..4e38eb7acea1 100644 --- a/sound/soc/codecs/tas5805m.c +++ b/sound/soc/codecs/tas5805m.c @@ -203,6 +203,9 @@ static void tas5805m_refresh(struct tas5805m_priv *tas5805m) set_dsp_scale(rm, 0x24, tas5805m->vol[0]); set_dsp_scale(rm, 0x28, tas5805m->vol[1]); + regmap_write(rm, REG_PAGE, 0x00); + regmap_write(rm, REG_BOOK, 0x00); + /* Set/clear digital soft-mute */ regmap_write(rm, REG_DEVICE_CTRL_2, (tas5805m->is_muted ? DCTRL2_MUTE : 0) | |