]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoC: da7213: Populate max_register to regmap_config
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Wed, 6 Nov 2024 08:18:17 +0000 (10:18 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 6 Nov 2024 21:14:29 +0000 (21:14 +0000)
On the Renesas RZ/G3S SMARC Carrier II board having a DA7212 codec (using
da7213 driver) connected to one SSIF-2 available on the Renesas RZ/G3S SoC
it has been discovered that using the runtime PM API for suspend/resume
(as will be proposed in the following commits) leads to the codec not
being propertly initialized after resume. This is because w/o
max_register populated to regmap_config the regcache_rbtree_sync()
breaks on base_reg > max condition and the regcache_sync_block() call is
skipped.

Fixes: ef5c2eba2412 ("ASoC: codecs: Add da7213 codec")
Cc: stable@vger.kernel.org
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://patch.msgid.link/20241106081826.1211088-23-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/da7213.c

index f3ef6fb5530471f3ade1e2f8b6e56ea99413504a..486db60bf2dd1492ac37b6aa28403843d0f78aa8 100644 (file)
@@ -2136,6 +2136,7 @@ static const struct regmap_config da7213_regmap_config = {
        .reg_bits = 8,
        .val_bits = 8,
 
+       .max_register = DA7213_TONE_GEN_OFF_PER,
        .reg_defaults = da7213_reg_defaults,
        .num_reg_defaults = ARRAY_SIZE(da7213_reg_defaults),
        .volatile_reg = da7213_volatile_register,