Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Javier Martin and committed by
Mark Brown
0a93421b b462c6e6

+4 -1
+4 -1
sound/soc/imx/imx-ssi.c
··· 108 108 break; 109 109 case SND_SOC_DAIFMT_DSP_B: 110 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 112 break; 113 113 case SND_SOC_DAIFMT_DSP_A: 114 114 /* data on rising edge of bclk, frame high 1clk before data */ ··· 655 655 656 656 ssi->dma_params_rx.dma_addr = res->start + SSI_SRX0; 657 657 ssi->dma_params_tx.dma_addr = res->start + SSI_STX0; 658 + 659 + ssi->dma_params_tx.burstsize = 4; 660 + ssi->dma_params_rx.burstsize = 4; 658 661 659 662 res = platform_get_resource_byname(pdev, IORESOURCE_DMA, "tx0"); 660 663 if (res)