[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