提交 bd25867a 编写于 作者: J Jarkko Nikula 提交者: Mark Brown

ASoC: Fix incorrect DSP format in OMAP McBSP DAI and affected drivers

- 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: NJarkko Nikula <jarkko.nikula@nokia.com>
Acked-by: NArun KS <arunks@mistralsolutions.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 a31501d1
...@@ -541,7 +541,7 @@ static int tlv320aic23_set_dai_fmt(struct snd_soc_dai *codec_dai, ...@@ -541,7 +541,7 @@ static int tlv320aic23_set_dai_fmt(struct snd_soc_dai *codec_dai,
case SND_SOC_DAIFMT_I2S: case SND_SOC_DAIFMT_I2S:
iface_reg |= TLV320AIC23_FOR_I2S; iface_reg |= TLV320AIC23_FOR_I2S;
break; break;
case SND_SOC_DAIFMT_DSP_A: case SND_SOC_DAIFMT_DSP_B:
iface_reg |= TLV320AIC23_FOR_DSP; iface_reg |= TLV320AIC23_FOR_DSP;
break; break;
case SND_SOC_DAIFMT_RIGHT_J: case SND_SOC_DAIFMT_RIGHT_J:
......
...@@ -270,7 +270,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -270,7 +270,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
regs->srgr2 |= FPER(wlen * 2 - 1); regs->srgr2 |= FPER(wlen * 2 - 1);
regs->srgr1 |= FWID(wlen - 1); regs->srgr1 |= FWID(wlen - 1);
break; break;
case SND_SOC_DAIFMT_DSP_A: case SND_SOC_DAIFMT_DSP_B:
regs->srgr2 |= FPER(wlen * channels - 1); regs->srgr2 |= FPER(wlen * channels - 1);
regs->srgr1 |= FWID(wlen * channels - 2); regs->srgr1 |= FWID(wlen * channels - 2);
break; break;
...@@ -309,7 +309,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai, ...@@ -309,7 +309,7 @@ static int omap_mcbsp_dai_set_dai_fmt(struct snd_soc_dai *cpu_dai,
regs->rcr2 |= RDATDLY(1); regs->rcr2 |= RDATDLY(1);
regs->xcr2 |= XDATDLY(1); regs->xcr2 |= XDATDLY(1);
break; break;
case SND_SOC_DAIFMT_DSP_A: case SND_SOC_DAIFMT_DSP_B:
/* 0-bit data delay */ /* 0-bit data delay */
regs->rcr2 |= RDATDLY(0); regs->rcr2 |= RDATDLY(0);
regs->xcr2 |= XDATDLY(0); regs->xcr2 |= XDATDLY(0);
......
...@@ -61,7 +61,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream, ...@@ -61,7 +61,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream,
/* Set codec DAI configuration */ /* Set codec DAI configuration */
err = snd_soc_dai_set_fmt(codec_dai, 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_NB_IF |
SND_SOC_DAIFMT_CBM_CFM); SND_SOC_DAIFMT_CBM_CFM);
if (err < 0) { if (err < 0) {
...@@ -71,7 +71,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream, ...@@ -71,7 +71,7 @@ static int osk_hw_params(struct snd_pcm_substream *substream,
/* Set cpu DAI configuration */ /* Set cpu DAI configuration */
err = snd_soc_dai_set_fmt(cpu_dai, 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_NB_IF |
SND_SOC_DAIFMT_CBM_CFM); SND_SOC_DAIFMT_CBM_CFM);
if (err < 0) { if (err < 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册