+22
−10
Loading
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>