[RFC PATCH v2 0/3] regmap: Add flat_cache_default_is_zero flag for flat cache

Sheetal . posted 3 patches 3 weeks, 6 days ago
drivers/base/regmap/internal.h      |  2 ++
drivers/base/regmap/regcache-flat.c | 12 ++++++++----
drivers/base/regmap/regcache.c      |  1 +
drivers/base/regmap/regmap-kunit.c  | 93 ++++++++++++++++++++++++++++++
include/linux/regmap.h              |  1 +
sound/soc/tegra/tegra186_asrc.c     |  1 +
sound/soc/tegra/tegra186_dspk.c     |  1 +
sound/soc/tegra/tegra210_admaif.c   |  3 +++
sound/soc/tegra/tegra210_adx.c      |  2 ++
sound/soc/tegra/tegra210_ahub.c     |  3 +++
sound/soc/tegra/tegra210_amx.c      |  3 +++
sound/soc/tegra/tegra210_dmic.c     |  1 +
sound/soc/tegra/tegra210_i2s.c      |  2 ++
sound/soc/tegra/tegra210_mbdrc.c    |  1 +
sound/soc/tegra/tegra210_mixer.c    |  1 +
sound/soc/tegra/tegra210_mvc.c      |  1 +
sound/soc/tegra/tegra210_ope.c      |  1 +
sound/soc/tegra/tegra210_peq.c      |  1 +
sound/soc/tegra/tegra210_sfc.c      |  1 +
19 files changed, 127 insertions(+), 4 deletions(-)
[RFC PATCH v2 0/3] regmap: Add flat_cache_default_is_zero flag for flat cache
Posted by Sheetal . 3 weeks, 6 days ago
From: Sheetal <sheetal@nvidia.com>

This patch series adds a flat_cache_default_is_zero flag for REGCACHE_FLAT
that marks cache entries as valid on first read.

For hardware with zero power-on-reset registers, this avoids the need
to add all such registers to reg_defaults (maintenance burden, code
bloat, no functional benefit) just to set the validity bits.

By setting valid bits on read rather than at init, only accessed
registers are marked valid. This keeps regcache_sync scope minimal
and avoids writes to unused registers or holes.

Changes in v2:
- Renamed flag from cache_default_is_zero to flat_cache_default_is_zero
  to make it explicit that this is specific to REGCACHE_FLAT
- Added KUnit test coverage (patch 2/3)
- Updated commit message to explain why valid bits are set on first
  read rather than at init time

Sheetal (3):
  regmap: Add flat_cache_default_is_zero flag for flat cache
  regmap: Add KUnit test for flat_cache_default_is_zero
  ASoC: tegra: Enable flat_cache_default_is_zero for audio drivers

 drivers/base/regmap/internal.h      |  2 ++
 drivers/base/regmap/regcache-flat.c | 12 ++++++++----
 drivers/base/regmap/regcache.c      |  1 +
 drivers/base/regmap/regmap-kunit.c  | 93 ++++++++++++++++++++++++++++++
 include/linux/regmap.h              |  1 +
 sound/soc/tegra/tegra186_asrc.c     |  1 +
 sound/soc/tegra/tegra186_dspk.c     |  1 +
 sound/soc/tegra/tegra210_admaif.c   |  3 +++
 sound/soc/tegra/tegra210_adx.c      |  2 ++
 sound/soc/tegra/tegra210_ahub.c     |  3 +++
 sound/soc/tegra/tegra210_amx.c      |  3 +++
 sound/soc/tegra/tegra210_dmic.c     |  1 +
 sound/soc/tegra/tegra210_i2s.c      |  2 ++
 sound/soc/tegra/tegra210_mbdrc.c    |  1 +
 sound/soc/tegra/tegra210_mixer.c    |  1 +
 sound/soc/tegra/tegra210_mvc.c      |  1 +
 sound/soc/tegra/tegra210_ope.c      |  1 +
 sound/soc/tegra/tegra210_peq.c      |  1 +
 sound/soc/tegra/tegra210_sfc.c      |  1 +
 19 files changed, 127 insertions(+), 4 deletions(-)

-- 
2.34.1