Message ID | 20250218-apple-codec-changes-v2-9-932760fd7e07@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | ASoC: tas27{64,70}: improve support for Apple codec variants | expand |
On Tue, Feb 18, 2025 at 06:35:43PM +1000, James Calligeros wrote: > From: Martin Povišer <povik+lin@cutebit.org> > > 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 0a0342ede303 > ("ASoC: tas2770: Reinit regcache on reset") which concerned the > tas2770 driver. Fixes should go at the start of a series so they can be applied easily without spurious dependencies.
diff --git a/sound/soc/codecs/tas2764.c b/sound/soc/codecs/tas2764.c index 05d025ffc567fac25110fbde2ca19337b8ee329d..e4003a724c8c09303882ee36fc11133cf5c78b57 100644 --- a/sound/soc/codecs/tas2764.c +++ b/sound/soc/codecs/tas2764.c @@ -539,6 +539,8 @@ static uint8_t sn012776_bop_presets[] = { 0x06, 0x3e, 0x37, 0x30, 0xff, 0xe6 }; +static const struct regmap_config tas2764_i2c_regmap; + static int tas2764_codec_probe(struct snd_soc_component *component) { struct tas2764_priv *tas2764 = snd_soc_component_get_drvdata(component); @@ -552,6 +554,7 @@ static int tas2764_codec_probe(struct snd_soc_component *component) } tas2764_reset(tas2764); + regmap_reinit_cache(tas2764->regmap, &tas2764_i2c_regmap); if (tas2764->irq) { ret = snd_soc_component_write(tas2764->component, TAS2764_INT_MASK0, 0xff);