mirror of
https://github.com/torvalds/linux.git
synced 2026-09-24 06:24:02 +02:00
ASoC: codecs: ES8389: Modify volatile_register
Mark some registers that are not volatile as false And modified the logic for `cache_bypass` during `8389_resume`. Signed-off-by: Zhang Yi <zhangyi@everest-semi.com> Link: https://patch.msgid.link/20260630072311.8427-2-zhangyi@everest-semi.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
dc59e4fea9
commit
882e550311
|
|
@ -50,10 +50,29 @@ static const char * const es8389_core_supplies[] = {
|
|||
static bool es8389_volatile_register(struct device *dev,
|
||||
unsigned int reg)
|
||||
{
|
||||
if ((reg <= 0xff))
|
||||
return true;
|
||||
else
|
||||
switch (reg) {
|
||||
case ES8389_ADCL_VOL:
|
||||
case ES8389_ADCR_VOL:
|
||||
case ES8389_MIC1_GAIN:
|
||||
case ES8389_MIC2_GAIN:
|
||||
case ES8389_DACL_VOL:
|
||||
case ES8389_DACR_VOL:
|
||||
case ES8389_ALC_ON:
|
||||
case ES8389_ALC_CTL:
|
||||
case ES8389_ALC_TARGET:
|
||||
case ES8389_ALC_GAIN:
|
||||
case ES8389_ADC_MUTE:
|
||||
case ES8389_OSR_VOL:
|
||||
case ES8389_DAC_INV:
|
||||
case ES8389_MIX_VOL:
|
||||
case ES8389_DAC_MIX:
|
||||
case ES8389_ADC_RESET:
|
||||
case ES8389_ADC_MODE:
|
||||
case ES8389_DMIC_EN:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -9550, 50, 0);
|
||||
|
|
@ -861,13 +880,13 @@ static int es8389_resume(struct snd_soc_component *component)
|
|||
regcache_cache_only(es8389->regmap, false);
|
||||
regcache_cache_bypass(es8389->regmap, true);
|
||||
regmap_read(es8389->regmap, ES8389_RESET, ®v);
|
||||
regcache_cache_bypass(es8389->regmap, false);
|
||||
|
||||
if (regv == 0xff)
|
||||
es8389_init(component);
|
||||
else
|
||||
es8389_set_bias_level(component, SND_SOC_BIAS_ON);
|
||||
|
||||
regcache_cache_bypass(es8389->regmap, false);
|
||||
regcache_sync(es8389->regmap);
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user