[alsa-devel] [PATCH] ASoC: add RT5640 CODEC driver
Bard Liao
bardliao at realtek.com
Tue Jun 4 08:39:36 CEST 2013
> -----Original Message-----
> From: Mark Brown [mailto:broonie at kernel.org]
> Sent: Monday, June 03, 2013 11:36 PM
> To: Bard Liao
> Cc: lgirdwood at gmail.com; alsa-devel at alsa-project.org; Flove; Oder Chiou;
> swarren at nvidia.com; swarren at wwwdotorg.org
> Subject: Re: [PATCH] ASoC: add RT5640 CODEC driver
> > + case SND_SOC_BIAS_STANDBY:
> > + if (SND_SOC_BIAS_OFF == codec->dapm.bias_level) {
> > + snd_soc_update_bits(codec, RT5640_PWR_ANLG1,
> > + RT5640_PWR_VREF1 | RT5640_PWR_MB |
> > + RT5640_PWR_BG | RT5640_PWR_VREF2,
> > + RT5640_PWR_VREF1 | RT5640_PWR_MB |
> > + RT5640_PWR_BG | RT5640_PWR_VREF2);
> > + mdelay(10);
> > + snd_soc_update_bits(codec, RT5640_PWR_ANLG1,
> > + RT5640_PWR_FV1 | RT5640_PWR_FV2,
> > + RT5640_PWR_FV1 | RT5640_PWR_FV2);
> > + regcache_cache_only(rt5640->regmap, false);
> > + regcache_sync(rt5640->regmap);
>
> This looks wrong - you're writing to the device before you take it out of cache
> only mode so your delay in the above sequence will have no effect.
Actually, I don't know if I need to call "regcache_cache_only(rt5640->regmap, false);" here.
We never call "regcache_cache_only(rt5640->regmap, true);" in the codec driver.
I assume the cache_only flag is default false.
If yes, I think I can remove "regcache_cache_only(rt5640->regmap, false);" from the code driver.
If not, I will move it to the beginning of if (SND_SOC_BIAS_OFF == codec->dapm.bias_level) condition.
> ------Please consider the environment before printing this e-mail.
More information about the Alsa-devel
mailing list