aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/omap/omap-mcbsp.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-04-16 09:14:35 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-04-16 09:14:35 -0400
commit8d98f2246d7c622198ae0b8ca66f1c82b8a25377 (patch)
tree6e1dd0347aadc121f6933f070bffd34bb3b33f70 /sound/soc/omap/omap-mcbsp.c
parent3ba191ce051a32b20757f063120496e860ea8f9d (diff)
parent002fbad829883a3ad9b185077f9e54c37dc7502d (diff)
Merge branch 'for-2.6.30' into for-2.6.31
Diffstat (limited to 'sound/soc/omap/omap-mcbsp.c')
-rw-r--r--sound/soc/omap/omap-mcbsp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 2b4a8da09918..4d6ef0bf71dd 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -290,7 +290,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
290 case SND_SOC_DAIFMT_DSP_A: 290 case SND_SOC_DAIFMT_DSP_A:
291 case SND_SOC_DAIFMT_DSP_B: 291 case SND_SOC_DAIFMT_DSP_B:
292 regs->srgr2 |= FPER(wlen * channels - 1); 292 regs->srgr2 |= FPER(wlen * channels - 1);
293 regs->srgr1 |= FWID(wlen * channels - 2); 293 regs->srgr1 |= FWID(0);
294 break; 294 break;
295 } 295 }
296 296
@@ -309,6 +309,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
309{ 309{
310 struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data); 310 struct omap_mcbsp_data *mcbsp_data = to_mcbsp(cpu_dai->private_data);
311 struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs; 311 struct omap_mcbsp_reg_cfg *regs = &mcbsp_data->regs;
312 unsigned int temp_fmt = fmt;
312 313
313 if (mcbsp_data->configured) 314 if (mcbsp_data->configured)
314 return 0; 315 return 0;
@@ -342,6 +343,8 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
342 /* 0-bit data delay */ 343 /* 0-bit data delay */
343 regs->rcr2 |= RDATDLY(0); 344 regs->rcr2 |= RDATDLY(0);
344 regs->xcr2 |= XDATDLY(0); 345 regs->xcr2 |= XDATDLY(0);
346 /* Invert FS polarity configuration */
347 temp_fmt ^= SND_SOC_DAIFMT_NB_IF;
345 break; 348 break;
346 default: 349 default:
347 /* Unsupported data format */ 350 /* Unsupported data format */
@@ -365,7 +368,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
365 } 368 }
366 369
367 /* Set bit clock (CLKX/CLKR) and FS polarities */ 370 /* Set bit clock (CLKX/CLKR) and FS polarities */
368 switch (fmt & SND_SOC_DAIFMT_INV_MASK) { 371 switch (temp_fmt & SND_SOC_DAIFMT_INV_MASK) {
369 case SND_SOC_DAIFMT_NB_NF: 372 case SND_SOC_DAIFMT_NB_NF:
370 /* 373 /*
371 * Normal BCLK + FS. 374 * Normal BCLK + FS.