ASoC: imx: fix burstsize for DMA
authorWolfram Sang <w.sang@pengutronix.de>
Fri, 25 Mar 2011 15:51:45 +0000 (16:51 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Sat, 26 Mar 2011 17:24:55 +0000 (17:24 +0000)
SSI counts in words, the DMA engine in bytes. (Wrong) factor got removed
in bf974a0 (ASoC i.MX: switch to new DMA api).

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
sound/soc/imx/imx-pcm-dma-mx2.c

index b2ed764..aab7765 100644 (file)
@@ -110,12 +110,12 @@ static int imx_ssi_dma_alloc(struct snd_pcm_substream *substream,
                slave_config.direction = DMA_TO_DEVICE;
                slave_config.dst_addr = dma_params->dma_addr;
                slave_config.dst_addr_width = buswidth;
-               slave_config.dst_maxburst = dma_params->burstsize;
+               slave_config.dst_maxburst = dma_params->burstsize * buswidth;
        } else {
                slave_config.direction = DMA_FROM_DEVICE;
                slave_config.src_addr = dma_params->dma_addr;
                slave_config.src_addr_width = buswidth;
-               slave_config.src_maxburst = dma_params->burstsize;
+               slave_config.src_maxburst = dma_params->burstsize * buswidth;
        }
 
        ret = dmaengine_slave_config(iprtd->dma_chan, &slave_config);