diff options
author | Lionel Xu <Lionel.Xu@freescale.com> | 2010-12-21 15:48:37 +0800 |
---|---|---|
committer | Frank Li <Frank.Li@freescale.com> | 2010-12-22 11:10:52 +0800 |
commit | 3b667325bf959716cd04b3161c8f31bde24ad4f8 (patch) | |
tree | f40344bd47d3dd21ccc9ebd2aa3d1269cb8f2f07 /sound/soc/mxs/mxs-devb.c | |
parent | e6677bce0eccc4810df90e11ba9cf7791918b153 (diff) |
ENGR00136035 MX28 ALSA: Pcm read error during arecording and aplaying
Reslove the pcm read error when opening arecord and aplay at the
same time.
Signed-off-by: Lionel Xu <r63889@freescale.com>
(cherry picked from commit c8d1b31e0fde30874d352c216a44ec1ad05424e1)
Diffstat (limited to 'sound/soc/mxs/mxs-devb.c')
-rw-r--r-- | sound/soc/mxs/mxs-devb.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/sound/soc/mxs/mxs-devb.c b/sound/soc/mxs/mxs-devb.c index 66520b709819..6847c54a6485 100644 --- a/sound/soc/mxs/mxs-devb.c +++ b/sound/soc/mxs/mxs-devb.c @@ -82,9 +82,8 @@ static int mxs_evk_audio_hw_params(struct snd_pcm_substream *substream, if (ret < 0) return ret; /* set cpu_dai to master mode for playback, slave mode for record */ - if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) - dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | - SND_SOC_DAIFMT_CBM_CFM; + dai_format = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | + SND_SOC_DAIFMT_CBM_CFM; /* set cpu DAI configuration */ ret = snd_soc_dai_set_fmt(cpu_dai, dai_format); @@ -100,18 +99,6 @@ static int mxs_evk_audio_hw_params(struct snd_pcm_substream *substream, static int mxs_evk_startup(struct snd_pcm_substream *substream) { - struct snd_soc_pcm_runtime *rtd = substream->private_data; - struct snd_soc_dai_link *machine = rtd->dai; - struct snd_soc_dai *cpu_dai = machine->cpu_dai; - struct mxs_saif *saif_select = (struct mxs_saif *)cpu_dai->private_data; - - if (((saif_select->stream_mapping == PLAYBACK_SAIF0_CAPTURE_SAIF1) && \ - (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)) || \ - ((saif_select->stream_mapping == PLAYBACK_SAIF1_CAPTURE_SAIF0) \ - && (substream->stream == SNDRV_PCM_STREAM_CAPTURE))) - saif_select->saif_en = 0; - else - saif_select->saif_en = 1; return 0; } @@ -232,6 +219,7 @@ static int __devinit mxs_evk_sgtl5000_probe(struct platform_device *pdev) saif_select = (struct mxs_saif *)mxs_evk_dai.cpu_dai->private_data; saif_select->stream_mapping = PLAYBACK_SAIF0_CAPTURE_SAIF1; saif_select->saif_mclk = plat->saif_mclock; + saif_select->saif_clk = SAIF0; return 0; err_plat_init: if (plat->finit) |