ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers
authorJarkko Nikula <jarkko.nikula@nokia.com>
Mon, 22 Dec 2008 08:21:36 +0000 (10:21 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 22 Dec 2008 16:15:20 +0000 (16:15 +0000)
- OMAP McBSP DAI driver claims to support DSP_A format which has 1-bit data
  delay but configures link for 0-bit data delay which is in fact DSP_B
- Fix this by changing format from DSP_A to DSP_B
- Fix also TLV320AIC23 codec and OSK5912 machine drivers since the same
  error is populated also there

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/tlv320aic23.c
sound/soc/omap/omap-mcbsp.c
sound/soc/omap/osk5912.c

index 39f5b981d25a3d269311887ec5e113e3f9a578c9..cfdea007c4cb3ca7536ca14a7527363af7b849ee 100644 (file)
@@ -541,7 +541,7 @@ static int tlv320aic23_set_dai_fmt(struct snd_soc_dai *codec_dai,
        case SND_SOC_DAIFMT_I2S:
                iface_reg |= TLV320AIC23_FOR_I2S;
                break;
-       case SND_SOC_DAIFMT_DSP_A:
+       case SND_SOC_DAIFMT_DSP_B:
                iface_reg |= TLV320AIC23_FOR_DSP;
                break;
        case SND_SOC_DAIFMT_RIGHT_J:
index 7b86373007ca2f66fb9282a668813e2c5da2d07d..ec5e18a78758346b9340946d30c15bbf9e498b39 100644 (file)
@@ -270,7 +270,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
                regs->srgr2     |= FPER(wlen * 2 - 1);
                regs->srgr1     |= FWID(wlen - 1);
                break;
-       case SND_SOC_DAIFMT_DSP_A:
+       case SND_SOC_DAIFMT_DSP_B:
                regs->srgr2     |= FPER(wlen * channels - 1);
                regs->srgr1     |= FWID(wlen * channels - 2);
                break;
@@ -309,7 +309,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
                regs->rcr2      |= RDATDLY(1);
                regs->xcr2      |= XDATDLY(1);
                break;
-       case SND_SOC_DAIFMT_DSP_A:
+       case SND_SOC_DAIFMT_DSP_B:
                /* 0-bit data delay */
                regs->rcr2      |= RDATDLY(0);
                regs->xcr2      |= XDATDLY(0);
index 845bf41335b93db0fe31e95c3ff3fa4d67aaad73..cd41a948df7be44abad30a15a11a529b5e0b6ca2 100644 (file)
@@ -61,7 +61,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream,
 
        /* Set codec DAI configuration */
        err = snd_soc_dai_set_fmt(codec_dai,
-                                 SND_SOC_DAIFMT_DSP_A |
+                                 SND_SOC_DAIFMT_DSP_B |
                                  SND_SOC_DAIFMT_NB_IF |
                                  SND_SOC_DAIFMT_CBM_CFM);
        if (err < 0) {
@@ -71,7 +71,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream,
 
        /* Set cpu DAI configuration */
        err = snd_soc_dai_set_fmt(cpu_dai,
-                                 SND_SOC_DAIFMT_DSP_A |
+                                 SND_SOC_DAIFMT_DSP_B |
                                  SND_SOC_DAIFMT_NB_IF |
                                  SND_SOC_DAIFMT_CBM_CFM);
        if (err < 0) {