[v2] mfd: wcd934x: Update to use maple tree register cache

Message ID 20230912-mfd-wcd934x-maple-v2-1-292a154113e3@kernel.org
State New
Headers
Series [v2] mfd: wcd934x: Update to use maple tree register cache |

Commit Message

Mark Brown Sept. 12, 2023, 11:36 a.m. UTC
  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 wcd934x to use the more modern data structure.

Signed-off-by: Mark Brown <broonie@kernel.org>
---


Signed-off-by: Mark
---
Changes in v2:
- Rebase onto v6.6-rc1.
- Link to v1: https://lore.kernel.org/r/20230712-mfd-wcd934x-maple-v1-1-0d7aba4b0077@kernel.org
---
 drivers/mfd/wcd934x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


---
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
change-id: 20230623-mfd-wcd934x-maple-852535e3b2c6

Best regards,
  

Comments

Lee Jones Sept. 20, 2023, 12:09 p.m. UTC | #1
On Tue, 12 Sep 2023 12:36:46 +0100, Mark Brown wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/1] mfd: wcd934x: Update to use maple tree register cache
      commit: e141e0544443e3aa800eaddc3beb47417469cb0c

--
Lee Jones [李琼斯]
  

Patch

diff --git a/drivers/mfd/wcd934x.c b/drivers/mfd/wcd934x.c
index 6b942d5270c1..7b9873b72c37 100644
--- a/drivers/mfd/wcd934x.c
+++ b/drivers/mfd/wcd934x.c
@@ -112,7 +112,7 @@  static const struct regmap_range_cfg wcd934x_ranges[] = {
 static struct regmap_config wcd934x_regmap_config = {
 	.reg_bits = 16,
 	.val_bits = 8,
-	.cache_type = REGCACHE_RBTREE,
+	.cache_type = REGCACHE_MAPLE,
 	.max_register = 0xffff,
 	.can_multi_write = true,
 	.ranges = wcd934x_ranges,