aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorJavier Martin <javier.martin@vista-silicon.com>2011-03-01 09:02:06 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-03-01 18:30:14 -0500
commit0a93421b6adf8ba127b3eafc4c16e3a14017e2ae (patch)
tree7e001cb132e1c4a5daa25de9eb78136991ff2a82 /sound
parentb462c6e69a26dd534d6372ed65a6fc7c01073883 (diff)
ASoC: Fix burstsize and DSP_B format problems in imx-ssi.
When choosing IMX_DMA flag, burtsizes are set to its default value (0) which leads to driver malfunction. Change them to 4. DSP_B interface needs additional flag to match DSP_B formats as described in several codecs as wm8741 and aic3205. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/imx/imx-ssi.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/imx/imx-ssi.c b/sound/soc/imx/imx-ssi.c
index 30894ea7f333..bc92ec620004 100644
--- a/sound/soc/imx/imx-ssi.c
+++ b/sound/soc/imx/imx-ssi.c
@@ -108,7 +108,7 @@ static int imx_ssi_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt)
108 break; 108 break;
109 case SND_SOC_DAIFMT_DSP_B: 109 case SND_SOC_DAIFMT_DSP_B:
110 /* data on rising edge of bclk, frame high with data */ 110 /* data on rising edge of bclk, frame high with data */
111 strcr |= SSI_STCR_TFSL; 111 strcr |= SSI_STCR_TFSL | SSI_STCR_TXBIT0;
112 break; 112 break;
113 case SND_SOC_DAIFMT_DSP_A: 113 case SND_SOC_DAIFMT_DSP_A:
114 /* data on rising edge of bclk, frame high 1clk before data */ 114 /* data on rising edge of bclk, frame high 1clk before data */
@@ -656,6 +656,9 @@ static int imx_ssi_probe(struct platform_device *pdev)
656 ssi->dma_params_rx.dma_addr = res->start + SSI_SRX0; 656 ssi->dma_params_rx.dma_addr = res->start + SSI_SRX0;
657 ssi->dma_params_tx.dma_addr = res->start + SSI_STX0; 657 ssi->dma_params_tx.dma_addr = res->start + SSI_STX0;
658 658
659 ssi->dma_params_tx.burstsize = 4;
660 ssi->dma_params_rx.burstsize = 4;
661
659 res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx0"); 662 res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx0");
660 if (res) 663 if (res)
661 ssi->dma_params_tx.dma = res->start; 664 ssi->dma_params_tx.dma = res->start;