summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2019-03-21 00:41:56 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-16 20:45:03 +0300
commitb7bbb5ce955b4813abc1bb742bc7dc575cb6fb21 (patch)
treefe7ca6257a9bd22e0c3df9a1a03eb8ca21cc4ba8 /sound
parent79132626f8c70088db55e7ee60bc34e3dc9cc50d (diff)
downloadlinux-b7bbb5ce955b4813abc1bb742bc7dc575cb6fb21.tar.xz
ASoC: cs4270: Set auto-increment bit for register writes
[ Upstream commit f0f2338a9cfaf71db895fa989ea7234e8a9b471d ] The CS4270 does not by default increment the register address on consecutive writes. During normal operation it doesn't matter as all register accesses are done individually. At resume time after suspend, however, the regcache code gathers the biggest possible block of registers to sync and sends them one on one go. To fix this, set the INCR bit in all cases. Signed-off-by: Daniel Mack <daniel@zonque.org> Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/cs4270.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/codecs/cs4270.c b/sound/soc/codecs/cs4270.c
index 3670086b9227..f273533c6653 100644
--- a/sound/soc/codecs/cs4270.c
+++ b/sound/soc/codecs/cs4270.c
@@ -641,6 +641,7 @@ static const struct regmap_config cs4270_regmap = {
.reg_defaults = cs4270_reg_defaults,
.num_reg_defaults = ARRAY_SIZE(cs4270_reg_defaults),
.cache_type = REGCACHE_RBTREE,
+ .write_flag_mask = CS4270_I2C_INCR,
.readable_reg = cs4270_reg_is_readable,
.volatile_reg = cs4270_reg_is_volatile,