diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/codecs/tlv320aic23.c | 5 | ||||
-rw-r--r-- | sound/soc/omap/omap-pcm.c | 8 | ||||
-rw-r--r-- | sound/soc/omap/omap3evm.c | 2 | ||||
-rw-r--r-- | sound/soc/omap/omap3pandora.c | 3 | ||||
-rw-r--r-- | sound/soc/s3c24xx/s3c64xx-i2s.c | 2 | ||||
-rw-r--r-- | sound/soc/soc-dapm.c | 20 |
6 files changed, 30 insertions, 10 deletions
diff --git a/sound/soc/codecs/tlv320aic23.c b/sound/soc/codecs/tlv320aic23.c index 0b8dcb5cd729..90a0264f7538 100644 --- a/sound/soc/codecs/tlv320aic23.c +++ b/sound/soc/codecs/tlv320aic23.c | |||
@@ -265,8 +265,8 @@ static const int bosr_usb_divisor_table[] = { | |||
265 | #define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15)) | 265 | #define UPPER_GROUP ((1<<8) | (1<<9) | (1<<10) | (1<<11) | (1<<15)) |
266 | static const unsigned short sr_valid_mask[] = { | 266 | static const unsigned short sr_valid_mask[] = { |
267 | LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 0*/ | 267 | LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 0*/ |
268 | LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 1*/ | ||
269 | LOWER_GROUP, /* Usb, bosr - 0*/ | 268 | LOWER_GROUP, /* Usb, bosr - 0*/ |
269 | LOWER_GROUP|UPPER_GROUP, /* Normal, bosr - 1*/ | ||
270 | UPPER_GROUP, /* Usb, bosr - 1*/ | 270 | UPPER_GROUP, /* Usb, bosr - 1*/ |
271 | }; | 271 | }; |
272 | /* | 272 | /* |
@@ -625,11 +625,10 @@ static int tlv320aic23_resume(struct platform_device *pdev) | |||
625 | { | 625 | { |
626 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); | 626 | struct snd_soc_device *socdev = platform_get_drvdata(pdev); |
627 | struct snd_soc_codec *codec = socdev->card->codec; | 627 | struct snd_soc_codec *codec = socdev->card->codec; |
628 | int i; | ||
629 | u16 reg; | 628 | u16 reg; |
630 | 629 | ||
631 | /* Sync reg_cache with the hardware */ | 630 | /* Sync reg_cache with the hardware */ |
632 | for (reg = 0; reg < ARRAY_SIZE(tlv320aic23_reg); i++) { | 631 | for (reg = 0; reg < TLV320AIC23_RESET; reg++) { |
633 | u16 val = tlv320aic23_read_reg_cache(codec, reg); | 632 | u16 val = tlv320aic23_read_reg_cache(codec, reg); |
634 | tlv320aic23_write(codec, reg, val); | 633 | tlv320aic23_write(codec, reg, val); |
635 | } | 634 | } |
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c index 5735945788bf..6a829eef2a4f 100644 --- a/sound/soc/omap/omap-pcm.c +++ b/sound/soc/omap/omap-pcm.c | |||
@@ -195,8 +195,12 @@ static int omap_pcm_prepare(struct snd_pcm_substream *substream) | |||
195 | else | 195 | else |
196 | omap_enable_dma_irq(prtd->dma_ch, OMAP_DMA_FRAME_IRQ); | 196 | omap_enable_dma_irq(prtd->dma_ch, OMAP_DMA_FRAME_IRQ); |
197 | 197 | ||
198 | omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); | 198 | if (!(cpu_class_is_omap1())) { |
199 | omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); | 199 | omap_set_dma_src_burst_mode(prtd->dma_ch, |
200 | OMAP_DMA_DATA_BURST_16); | ||
201 | omap_set_dma_dest_burst_mode(prtd->dma_ch, | ||
202 | OMAP_DMA_DATA_BURST_16); | ||
203 | } | ||
200 | 204 | ||
201 | return 0; | 205 | return 0; |
202 | } | 206 | } |
diff --git a/sound/soc/omap/omap3evm.c b/sound/soc/omap/omap3evm.c index 9114c263077b..13aa380de162 100644 --- a/sound/soc/omap/omap3evm.c +++ b/sound/soc/omap/omap3evm.c | |||
@@ -144,4 +144,4 @@ module_exit(omap3evm_soc_exit); | |||
144 | 144 | ||
145 | MODULE_AUTHOR("Anuj Aggarwal <anuj.aggarwal@ti.com>"); | 145 | MODULE_AUTHOR("Anuj Aggarwal <anuj.aggarwal@ti.com>"); |
146 | MODULE_DESCRIPTION("ALSA SoC OMAP3 EVM"); | 146 | MODULE_DESCRIPTION("ALSA SoC OMAP3 EVM"); |
147 | MODULE_LICENSE("GPLv2"); | 147 | MODULE_LICENSE("GPL v2"); |
diff --git a/sound/soc/omap/omap3pandora.c b/sound/soc/omap/omap3pandora.c index ad219aaf7cb8..0cd06f5dd356 100644 --- a/sound/soc/omap/omap3pandora.c +++ b/sound/soc/omap/omap3pandora.c | |||
@@ -134,7 +134,7 @@ static int omap3pandora_hp_event(struct snd_soc_dapm_widget *w, | |||
134 | * |P| <--- TWL4030 <--------- Line In and MICs | 134 | * |P| <--- TWL4030 <--------- Line In and MICs |
135 | */ | 135 | */ |
136 | static const struct snd_soc_dapm_widget omap3pandora_out_dapm_widgets[] = { | 136 | static const struct snd_soc_dapm_widget omap3pandora_out_dapm_widgets[] = { |
137 | SND_SOC_DAPM_DAC("PCM DAC", "Playback", SND_SOC_NOPM, 0, 0), | 137 | SND_SOC_DAPM_DAC("PCM DAC", "HiFi Playback", SND_SOC_NOPM, 0, 0), |
138 | SND_SOC_DAPM_PGA_E("Headphone Amplifier", SND_SOC_NOPM, | 138 | SND_SOC_DAPM_PGA_E("Headphone Amplifier", SND_SOC_NOPM, |
139 | 0, 0, NULL, 0, omap3pandora_hp_event, | 139 | 0, 0, NULL, 0, omap3pandora_hp_event, |
140 | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), | 140 | SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), |
@@ -181,6 +181,7 @@ static int omap3pandora_out_init(struct snd_soc_codec *codec) | |||
181 | snd_soc_dapm_nc_pin(codec, "CARKITR"); | 181 | snd_soc_dapm_nc_pin(codec, "CARKITR"); |
182 | snd_soc_dapm_nc_pin(codec, "HFL"); | 182 | snd_soc_dapm_nc_pin(codec, "HFL"); |
183 | snd_soc_dapm_nc_pin(codec, "HFR"); | 183 | snd_soc_dapm_nc_pin(codec, "HFR"); |
184 | snd_soc_dapm_nc_pin(codec, "VIBRA"); | ||
184 | 185 | ||
185 | ret = snd_soc_dapm_new_controls(codec, omap3pandora_out_dapm_widgets, | 186 | ret = snd_soc_dapm_new_controls(codec, omap3pandora_out_dapm_widgets, |
186 | ARRAY_SIZE(omap3pandora_out_dapm_widgets)); | 187 | ARRAY_SIZE(omap3pandora_out_dapm_widgets)); |
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c index 3c06c401d0fb..105a77eeded0 100644 --- a/sound/soc/s3c24xx/s3c64xx-i2s.c +++ b/sound/soc/s3c24xx/s3c64xx-i2s.c | |||
@@ -220,6 +220,8 @@ static __devinit int s3c64xx_iis_dev_probe(struct platform_device *pdev) | |||
220 | goto err; | 220 | goto err; |
221 | } | 221 | } |
222 | 222 | ||
223 | clk_enable(i2s->iis_cclk); | ||
224 | |||
223 | ret = s3c_i2sv2_probe(pdev, dai, i2s, 0); | 225 | ret = s3c_i2sv2_probe(pdev, dai, i2s, 0); |
224 | if (ret) | 226 | if (ret) |
225 | goto err_clk; | 227 | goto err_clk; |
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index d89f6dc00908..66d4c165f99b 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
@@ -973,9 +973,19 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event) | |||
973 | if (!w->power_check) | 973 | if (!w->power_check) |
974 | continue; | 974 | continue; |
975 | 975 | ||
976 | power = w->power_check(w); | 976 | /* If we're suspending then pull down all the |
977 | if (power) | 977 | * power. */ |
978 | sys_power = 1; | 978 | switch (event) { |
979 | case SND_SOC_DAPM_STREAM_SUSPEND: | ||
980 | power = 0; | ||
981 | break; | ||
982 | |||
983 | default: | ||
984 | power = w->power_check(w); | ||
985 | if (power) | ||
986 | sys_power = 1; | ||
987 | break; | ||
988 | } | ||
979 | 989 | ||
980 | if (w->power == power) | 990 | if (w->power == power) |
981 | continue; | 991 | continue; |
@@ -999,8 +1009,12 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event) | |||
999 | case SND_SOC_DAPM_STREAM_RESUME: | 1009 | case SND_SOC_DAPM_STREAM_RESUME: |
1000 | sys_power = 1; | 1010 | sys_power = 1; |
1001 | break; | 1011 | break; |
1012 | case SND_SOC_DAPM_STREAM_SUSPEND: | ||
1013 | sys_power = 0; | ||
1014 | break; | ||
1002 | case SND_SOC_DAPM_STREAM_NOP: | 1015 | case SND_SOC_DAPM_STREAM_NOP: |
1003 | sys_power = codec->bias_level != SND_SOC_BIAS_STANDBY; | 1016 | sys_power = codec->bias_level != SND_SOC_BIAS_STANDBY; |
1017 | break; | ||
1004 | default: | 1018 | default: |
1005 | break; | 1019 | break; |
1006 | } | 1020 | } |