ASoC: cs42l52: Update to use maple tree register cache
authorMark Brown <broonie@kernel.org>
Thu, 13 Jul 2023 00:13:21 +0000 (01:13 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 18 Jul 2023 13:45:09 +0000 (14:45 +0100)
The maple tree register cache is based on a much more modern data structure
than the rbtree cache and makes optimisation choices which are probably
more appropriate for modern systems than those made by the rbtree cache. In
v6.5 it has also acquired the ability to generate multi-register writes in
sync operations, bringing performance up to parity with the rbtree cache
there.

Update the cs42l52 driver to use the more modern data structure.

Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20230713-asoc-cirrus-maple-v1-8-a62651831735@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs42l52.c

index 1f1ded0ff0ac2ab0087e680be1c665dfeda7c29b..4fc8a6ae8d92ca8f7beff11c5503f61e0be9f131 100644 (file)
@@ -1084,7 +1084,7 @@ static const struct regmap_config cs42l52_regmap = {
        .num_reg_defaults = ARRAY_SIZE(cs42l52_reg_defaults),
        .readable_reg = cs42l52_readable_register,
        .volatile_reg = cs42l52_volatile_register,
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
 };
 
 static int cs42l52_i2c_probe(struct i2c_client *i2c_client)