ASoC: rt5682: Use a maple tree based register cache
regmap has introduced a maple tree based register cache which makes use of this more advanced data structure which has been added to the kernel recently. Maple trees are much flatter than rbtrees, meaning that they do not grow to such depths when the register map is sparse which makes access a bit more efficient. The maple tree cache type is still a bit of a work in progress but should be effective for some devices already. RT5682 seems like a good candidate for maple tree. It only supports single register read/write operations so will gain minimal benefit from storing the register data in device native format like rbtree does (none for SoundWire) and has some sparsity in the register map which is a good fit for maple tree. Convert to use maple tree. There should be little if any visible difference at runtime. Signed-off-by: Mark Brown <broonie@kernel.org Link: https://lore.kernel.org/r/20230419-asoc-rt5682-maple-v1-1-ed40369c9099@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org
This commit is contained in:
parent
e09eb6ac41
commit
582ed3162d
@ -79,7 +79,7 @@ static const struct regmap_config rt5682_sdw_indirect_regmap = {
|
||||
.max_register = RT5682_I2C_MODE,
|
||||
.volatile_reg = rt5682_volatile_register,
|
||||
.readable_reg = rt5682_readable_register,
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
.cache_type = REGCACHE_MAPLE,
|
||||
.reg_defaults = rt5682_reg,
|
||||
.num_reg_defaults = RT5682_REG_NUM,
|
||||
.use_single_read = true,
|
||||
|
@ -3046,7 +3046,7 @@ static const struct regmap_config rt5682s_regmap = {
|
||||
.max_register = RT5682S_MAX_REG,
|
||||
.volatile_reg = rt5682s_volatile_register,
|
||||
.readable_reg = rt5682s_readable_register,
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
.cache_type = REGCACHE_MAPLE,
|
||||
.reg_defaults = rt5682s_reg,
|
||||
.num_reg_defaults = ARRAY_SIZE(rt5682s_reg),
|
||||
.use_single_read = true,
|
||||
|
Loading…
Reference in New Issue
Block a user