summaryrefslogtreecommitdiff
path: root/sound/soc/mxs/mxs-devb.c
diff options
context:
space:
mode:
authorLionel Xu <Lionel.Xu@freescale.com>2010-12-21 15:48:37 +0800
committerFrank Li <Frank.Li@freescale.com>2010-12-22 11:10:52 +0800
commit3b667325bf959716cd04b3161c8f31bde24ad4f8 (patch)
treef40344bd47d3dd21ccc9ebd2aa3d1269cb8f2f07 /sound/soc/mxs/mxs-devb.c
parente6677bce0eccc4810df90e11ba9cf7791918b153 (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.c18
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)