[PATCH 1/1 v2] i.MX SDMA: Fix burstsize settings
Vinod Koul
vinod.koul at intel.com
Thu Feb 2 03:34:36 EST 2012
On Tue, 2012-01-24 at 14:22 +0100, Philippe Rétornaz wrote:
> Commit 6584cb88 (ARM i.MX dma: Fix burstsize settings) fixed
> the mxcmmc driver but forgot to fix the SDMA driver to handle the
> correct burtsize.
> This make the SD card access works again with DMA on i.MX31 boards.
>
> Signed-off-by: Philippe Rétornaz <philippe.retornaz at epfl.ch>
> Tested-by: Sascha Hauer <s.hauer at pengutronix.de>
> Acked-by: Sascha Hauer <s.hauer at pengutronix.de>
Applied thanks
> ---
> drivers/dma/imx-sdma.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
> index f993955..c193dac 100644
> --- a/drivers/dma/imx-sdma.c
> +++ b/drivers/dma/imx-sdma.c
> @@ -1095,11 +1095,13 @@ static int sdma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
> case DMA_SLAVE_CONFIG:
> if (dmaengine_cfg->direction == DMA_FROM_DEVICE) {
> sdmac->per_address = dmaengine_cfg->src_addr;
> - sdmac->watermark_level = dmaengine_cfg->src_maxburst;
> + sdmac->watermark_level = dmaengine_cfg->src_maxburst *
> + dmaengine_cfg->src_addr_width;
> sdmac->word_size = dmaengine_cfg->src_addr_width;
> } else {
> sdmac->per_address = dmaengine_cfg->dst_addr;
> - sdmac->watermark_level = dmaengine_cfg->dst_maxburst;
> + sdmac->watermark_level = dmaengine_cfg->dst_maxburst *
> + dmaengine_cfg->dst_addr_width;
> sdmac->word_size = dmaengine_cfg->dst_addr_width;
> }
> return sdma_config_channel(sdmac);
--
~Vinod
More information about the linux-arm-kernel
mailing list