[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260112042841.51799-1-sheetal@nvidia.com>
Date: Mon, 12 Jan 2026 09:58:38 +0530
From: "Sheetal ." <sheetal@...dia.com>
To: Mark Brown <broonie@...nel.org>
CC: Sander Vanheule <sander@...nheule.net>, Greg Kroah-Hartman
<gregkh@...uxfoundation.org>, "Rafael J . Wysocki" <rafael@...nel.org>,
Danilo Krummrich <dakr@...nel.org>, Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>, "Thierry
Reding" <thierry.reding@...il.com>, Jonathan Hunter <jonathanh@...dia.com>,
Mohan kumar <mkumard@...dia.com>, <linux-kernel@...r.kernel.org>,
<linux-sound@...r.kernel.org>, <linux-tegra@...r.kernel.org>, Sheetal
<sheetal@...dia.com>
Subject: [RFC PATCH v2 0/3] regmap: Add flat_cache_default_is_zero flag for flat cache
From: Sheetal <sheetal@...dia.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
Powered by blists - more mailing lists