ASoC: cs35l56: Update to use maple tree register cache
authorMark Brown <broonie@kernel.org>
Thu, 13 Jul 2023 00:13:17 +0000 (01:13 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 18 Jul 2023 13:45:05 +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 cs35l56 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-4-a62651831735@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l56-shared.c

index 60da8c75b7b9e519060965a551479e21cc306efd..d561fbdc12de9ee02c72603f1ebd5b91fdbde0a3 100644 (file)
@@ -319,7 +319,7 @@ struct regmap_config cs35l56_regmap_i2c = {
        .volatile_reg = cs35l56_volatile_reg,
        .readable_reg = cs35l56_readable_reg,
        .precious_reg = cs35l56_precious_reg,
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
 };
 EXPORT_SYMBOL_NS_GPL(cs35l56_regmap_i2c, SND_SOC_CS35L56_SHARED);
 
@@ -336,7 +336,7 @@ struct regmap_config cs35l56_regmap_spi = {
        .volatile_reg = cs35l56_volatile_reg,
        .readable_reg = cs35l56_readable_reg,
        .precious_reg = cs35l56_precious_reg,
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
 };
 EXPORT_SYMBOL_NS_GPL(cs35l56_regmap_spi, SND_SOC_CS35L56_SHARED);
 
@@ -352,7 +352,7 @@ struct regmap_config cs35l56_regmap_sdw = {
        .volatile_reg = cs35l56_volatile_reg,
        .readable_reg = cs35l56_readable_reg,
        .precious_reg = cs35l56_precious_reg,
-       .cache_type = REGCACHE_RBTREE,
+       .cache_type = REGCACHE_MAPLE,
 };
 EXPORT_SYMBOL_NS_GPL(cs35l56_regmap_sdw, SND_SOC_CS35L56_SHARED);