summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2015-05-20 18:20:51 +0800
committerNitin Garg <nitin.garg@freescale.com>2015-09-17 09:23:23 -0500
commit65b4240d7b41ea38fb42ba73d09078c1637bfb12 (patch)
tree00865b5c5e9016181fc3e4d9576a0050b7e00a83 /sound
parentf463002398062bfca938963eeb33ab545ed3afbe (diff)
MLK-11004-2: ASoC: CS42xx8: can't use PWR as PGA widget
Revert "ENGR00320678 ASoC: cs42xx8: Revert the DAPM routes to the old one" When PWR is PGA widget, it is used by input route and output rate, there is a circle route "AINxL -> PWR -> AOUTxL", alsa driver will open this audio route in kernel boot up, and refcount of pm enable is set to 1 by soc-dapm, which cause the codec can't enter pm_suspend. This reverts commit 8256b071de4ce0971f00f819fae3defa44fe892d. Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/cs42xx8.c46
1 files changed, 17 insertions, 29 deletions
diff --git a/sound/soc/codecs/cs42xx8.c b/sound/soc/codecs/cs42xx8.c
index 41a82ab89974..7dff0698e4d8 100644
--- a/sound/soc/codecs/cs42xx8.c
+++ b/sound/soc/codecs/cs42xx8.c
@@ -128,7 +128,7 @@ static const struct snd_soc_dapm_widget cs42xx8_dapm_widgets[] = {
SND_SOC_DAPM_INPUT("AIN2L"),
SND_SOC_DAPM_INPUT("AIN2R"),
- SND_SOC_DAPM_PGA_E("PWR", CS42XX8_PWRCTL, 0, 1, NULL, 0, NULL, 0),
+ SND_SOC_DAPM_SUPPLY("PWR", CS42XX8_PWRCTL, 0, 1, NULL, 0),
};
static const struct snd_soc_dapm_widget cs42xx8_adc3_dapm_widgets[] = {
@@ -140,41 +140,29 @@ static const struct snd_soc_dapm_widget cs42xx8_adc3_dapm_widgets[] = {
static const struct snd_soc_dapm_route cs42xx8_dapm_routes[] = {
/* Playback */
- { "PWR", NULL, "DAC1" },
- { "PWR", NULL, "DAC1" },
+ { "AOUT1L", NULL, "DAC1" },
+ { "AOUT1R", NULL, "DAC1" },
+ { "DAC1", NULL, "PWR" },
- { "PWR", NULL, "DAC2" },
- { "PWR", NULL, "DAC2" },
+ { "AOUT2L", NULL, "DAC2" },
+ { "AOUT2R", NULL, "DAC2" },
+ { "DAC2", NULL, "PWR" },
- { "PWR", NULL, "DAC3" },
- { "PWR", NULL, "DAC3" },
+ { "AOUT3L", NULL, "DAC3" },
+ { "AOUT3R", NULL, "DAC3" },
+ { "DAC3", NULL, "PWR" },
- { "PWR", NULL, "DAC4" },
- { "PWR", NULL, "DAC4" },
-
- { "AOUT1L", NULL, "PWR" },
- { "AOUT1R", NULL, "PWR" },
-
- { "AOUT2L", NULL, "PWR" },
- { "AOUT2R", NULL, "PWR" },
-
- { "AOUT3L", NULL, "PWR" },
- { "AOUT3R", NULL, "PWR" },
-
- { "AOUT4L", NULL, "PWR" },
- { "AOUT4R", NULL, "PWR" },
+ { "AOUT4L", NULL, "DAC4" },
+ { "AOUT4R", NULL, "DAC4" },
+ { "DAC4", NULL, "PWR" },
/* Capture */
- { "PWR", NULL, "AIN1L" },
- { "PWR", NULL, "AIN1R" },
-
- { "PWR", NULL, "AIN2L" },
- { "PWR", NULL, "AIN2R" },
-
- { "ADC1", NULL, "PWR" },
+ { "ADC1", NULL, "AIN1L" },
+ { "ADC1", NULL, "AIN1R" },
{ "ADC1", NULL, "PWR" },
- { "ADC2", NULL, "PWR" },
+ { "ADC2", NULL, "AIN2L" },
+ { "ADC2", NULL, "AIN2R" },
{ "ADC2", NULL, "PWR" },
};