summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Mack <daniel@zonque.org>2019-03-20 22:41:56 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-16 09:17:20 +0200
commite0124792043a96a294451e0be014f8251610f309 (patch)
tree5c16a7d710206c8717f0510649b6a89a89cf289b
parent0a635ced71275ddcac986866fb1fdf4bbc37960e (diff)
downloadlinux-stable-e0124792043a96a294451e0be014f8251610f309.tar.gz
linux-stable-e0124792043a96a294451e0be014f8251610f309.tar.bz2
linux-stable-e0124792043a96a294451e0be014f8251610f309.zip
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>
-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 736c1ea8e31e..756796c06413 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,