Skip to content

Commit d1c6610

Browse files
povikgregkh
authored andcommitted
ASoC: tas2764: Reinit cache on part reset
[ Upstream commit 592ab39 ] When the part is reset in component_probe, do not forget to reinit the regcache, otherwise the cache can get out of sync with the part's actual state. This fix is similar to commit 0a0342e ("ASoC: tas2770: Reinit regcache on reset") which concerned the tas2770 driver. Fixes: 827ed8a ("ASoC: tas2764: Add the driver for the TAS2764") Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Martin Povišer <povik+lin@cutebit.org> Signed-off-by: James Calligeros <jcalligeros99@gmail.com> Link: https://patch.msgid.link/20250406-apple-codec-changes-v5-3-50a00ec850a3@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 8bfc1d3 commit d1c6610

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

sound/soc/codecs/tas2764.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,6 +546,8 @@ static uint8_t sn012776_bop_presets[] = {
546546
0x06, 0x3e, 0x37, 0x30, 0xff, 0xe6
547547
};
548548

549+
static const struct regmap_config tas2764_i2c_regmap;
550+
549551
static int tas2764_codec_probe(struct snd_soc_component *component)
550552
{
551553
struct tas2764_priv *tas2764 = snd_soc_component_get_drvdata(component);
@@ -559,6 +561,7 @@ static int tas2764_codec_probe(struct snd_soc_component *component)
559561
}
560562

561563
tas2764_reset(tas2764);
564+
regmap_reinit_cache(tas2764->regmap, &tas2764_i2c_regmap);
562565

563566
if (tas2764->irq) {
564567
ret = snd_soc_component_write(tas2764->component, TAS2764_INT_MASK0, 0xff);

0 commit comments

Comments
 (0)