diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-24 18:50:23 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-03-26 14:49:04 -0400 |
commit | 1a2c7d568f624307c5821f31e54727a4b374855c (patch) | |
tree | d7cb9c4fa68a8a7dd2f3ffb37d9adc3f488e020d /sound/soc/codecs | |
parent | 49bc389ec2318b75e86a3c3239a495d7a8311046 (diff) |
ASoC: arizona: Add delay after powering up line level outputs
Ensure that the outputs are fully enabled before we begin passing audio
through them.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs')
-rw-r--r-- | sound/soc/codecs/arizona.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c index abdd019c5b6e..389f23253831 100644 --- a/sound/soc/codecs/arizona.c +++ b/sound/soc/codecs/arizona.c | |||
@@ -579,6 +579,24 @@ int arizona_out_ev(struct snd_soc_dapm_widget *w, | |||
579 | struct snd_kcontrol *kcontrol, | 579 | struct snd_kcontrol *kcontrol, |
580 | int event) | 580 | int event) |
581 | { | 581 | { |
582 | switch (event) { | ||
583 | case SND_SOC_DAPM_POST_PMU: | ||
584 | switch (w->shift) { | ||
585 | case ARIZONA_OUT1L_ENA_SHIFT: | ||
586 | case ARIZONA_OUT1R_ENA_SHIFT: | ||
587 | case ARIZONA_OUT2L_ENA_SHIFT: | ||
588 | case ARIZONA_OUT2R_ENA_SHIFT: | ||
589 | case ARIZONA_OUT3L_ENA_SHIFT: | ||
590 | case ARIZONA_OUT3R_ENA_SHIFT: | ||
591 | msleep(17); | ||
592 | break; | ||
593 | |||
594 | default: | ||
595 | break; | ||
596 | } | ||
597 | break; | ||
598 | } | ||
599 | |||
582 | return 0; | 600 | return 0; |
583 | } | 601 | } |
584 | EXPORT_SYMBOL_GPL(arizona_out_ev); | 602 | EXPORT_SYMBOL_GPL(arizona_out_ev); |