Debugging showed Realtek RT5642 doesn't support autoincrementing writes so driver should set the use_single_rw flag for regmap.
Signed-off-by: Jarkko Nikula <[email protected]> Cc: Bard Liao <[email protected]> Cc: Oder Chiou <[email protected]> --- I'm not sure is this specific only to RT5642? I was thinking that because commit 4c9185be5e8e ("ASoC: rt5640: Move cache sync() to resume()") is way after 75a5f89f635c ("regmap: cache: Write consecutive registers in a single block write") which started to use block writes during rbtree sync. Or maybe 4c9185be5e8e was done on top of older kernel? --- sound/soc/codecs/rt5640.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c index 6bc6efdec550..f1ec6e6bd08a 100644 --- a/sound/soc/codecs/rt5640.c +++ b/sound/soc/codecs/rt5640.c @@ -2059,6 +2059,7 @@ static struct snd_soc_codec_driver soc_codec_dev_rt5640 = { static const struct regmap_config rt5640_regmap = { .reg_bits = 8, .val_bits = 16, + .use_single_rw = true, .max_register = RT5640_VENDOR_ID2 + 1 + (ARRAY_SIZE(rt5640_ranges) * RT5640_PR_SPACING), -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

