diff options
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index a7b09614734d..6e855080e6ea 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c | |||
@@ -191,6 +191,11 @@ static int omap_mcbsp_dai_trigger(struct snd_pcm_substream *substream, int cmd, | |||
191 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: | 191 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: |
192 | mcbsp_data->active++; | 192 | mcbsp_data->active++; |
193 | omap_mcbsp_start(mcbsp_data->bus_id, play, !play); | 193 | omap_mcbsp_start(mcbsp_data->bus_id, play, !play); |
194 | /* Make sure data transfer is frame synchronized */ | ||
195 | if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) | ||
196 | omap_mcbsp_xmit_enable(mcbsp_data->bus_id, 1); | ||
197 | else | ||
198 | omap_mcbsp_recv_enable(mcbsp_data->bus_id, 1); | ||
194 | break; | 199 | break; |
195 | 200 | ||
196 | case SNDRV_PCM_TRIGGER_STOP: | 201 | case SNDRV_PCM_TRIGGER_STOP: |
@@ -336,11 +341,15 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai, | |||
336 | /* 1-bit data delay */ | 341 | /* 1-bit data delay */ |
337 | regs->rcr2 |= RDATDLY(1); | 342 | regs->rcr2 |= RDATDLY(1); |
338 | regs->xcr2 |= XDATDLY(1); | 343 | regs->xcr2 |= XDATDLY(1); |
344 | regs->rccr |= RFULL_CYCLE | RDMAEN | RDISABLE; | ||
345 | regs->xccr |= (DXENDLY(1) | XDMAEN | XDISABLE); | ||
339 | break; | 346 | break; |
340 | case SND_SOC_DAIFMT_DSP_A: | 347 | case SND_SOC_DAIFMT_DSP_A: |
341 | /* 1-bit data delay */ | 348 | /* 1-bit data delay */ |
342 | regs->rcr2 |= RDATDLY(1); | 349 | regs->rcr2 |= RDATDLY(1); |
343 | regs->xcr2 |= XDATDLY(1); | 350 | regs->xcr2 |= XDATDLY(1); |
351 | regs->rccr |= RFULL_CYCLE | RDMAEN | RDISABLE; | ||
352 | regs->xccr |= (DXENDLY(1) | XDMAEN | XDISABLE); | ||
344 | /* Invert FS polarity configuration */ | 353 | /* Invert FS polarity configuration */ |
345 | temp_fmt ^= SND_SOC_DAIFMT_NB_IF; | 354 | temp_fmt ^= SND_SOC_DAIFMT_NB_IF; |
346 | break; | 355 | break; |