]> Gentwo Git Trees - linux/.git/commit
ASoC: SDCA: Populate regmap cache for readable Controls
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 20 Nov 2025 15:30:18 +0000 (15:30 +0000)
committerMark Brown <broonie@kernel.org>
Thu, 20 Nov 2025 17:22:57 +0000 (17:22 +0000)
commit193c65ec8ed4d946b3f80b7d08e4320ded7ac4fa
treecdb5186099987e80c98520f69c78a944eb5ed37b
parent222cbe172e5f7de130cc9c3c85f8f33d51c131bc
ASoC: SDCA: Populate regmap cache for readable Controls

It is not uncommon for an SDCA Control to have no specified default
value in the DisCo. Non-volatile registers with no defaults will not be
present in the cache until they are accessed. However, if the first
operation user-space performs is a read whilst the device is runtime
suspended this read will fail.

To avoid such problems we should populate values from the hardware into
the cache for all non-volatile readable registers with no defaults.
Update the defaults handling to do this cache population since it is
iterating over the Controls and happens at a time the hardware is
always powered up.

Tested-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tested-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251120153023.2105663-10-ckeepax@opensource.cirrus.com
Reviewed-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdca/sdca_regmap.c