ASoC: twl6040: Select LPPLL during standby
When the codec is in standby we do not need to keep the HPPLL active. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
f55532a0c0
commit
1135ef1139
@ -824,7 +824,7 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec,
|
||||
{
|
||||
struct twl6040 *twl6040 = codec->control_data;
|
||||
struct twl6040_data *priv = snd_soc_codec_get_drvdata(codec);
|
||||
int ret;
|
||||
int ret = 0;
|
||||
|
||||
switch (level) {
|
||||
case SND_SOC_BIAS_ON:
|
||||
@ -832,12 +832,16 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec,
|
||||
case SND_SOC_BIAS_PREPARE:
|
||||
break;
|
||||
case SND_SOC_BIAS_STANDBY:
|
||||
if (priv->codec_powered)
|
||||
if (priv->codec_powered) {
|
||||
/* Select low power PLL in standby */
|
||||
ret = twl6040_set_pll(twl6040, TWL6040_SYSCLK_SEL_LPPLL,
|
||||
32768, 19200000);
|
||||
break;
|
||||
}
|
||||
|
||||
ret = twl6040_power(twl6040, 1);
|
||||
if (ret)
|
||||
return ret;
|
||||
break;
|
||||
|
||||
priv->codec_powered = 1;
|
||||
|
||||
@ -853,7 +857,7 @@ static int twl6040_set_bias_level(struct snd_soc_codec *codec,
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int twl6040_startup(struct snd_pcm_substream *substream,
|
||||
|
Loading…
Reference in New Issue
Block a user