dmaengine: xilinx: vdma: icg should be difference of stride and hsize
authorSrikanth Thokala <srikanth.thokala@xilinx.com>
Wed, 5 Nov 2014 18:37:02 +0000 (20:37 +0200)
committerVinod Koul <vinod.koul@intel.com>
Thu, 6 Nov 2014 07:41:47 +0000 (13:11 +0530)
This patch modifies the icg field to match the description
as mentioned in the DMA Linux framework.

Signed-off-by: Srikanth Thokala <sthokal@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/xilinx/xilinx_vdma.c

index 3d3f70dd9deabea19ce947d03b8e62e83f89f6d3..4a3a8f3137b3c41d4969c245c5686e12b94104ec 100644 (file)
@@ -963,7 +963,7 @@ xilinx_vdma_dma_prep_interleaved(struct dma_chan *dchan,
        hw = &segment->hw;
        hw->vsize = xt->numf;
        hw->hsize = xt->sgl[0].size;
-       hw->stride = xt->sgl[0].icg <<
+       hw->stride = (xt->sgl[0].icg + xt->sgl[0].size) <<
                        XILINX_VDMA_FRMDLY_STRIDE_STRIDE_SHIFT;
        hw->stride |= chan->config.frm_dly <<
                        XILINX_VDMA_FRMDLY_STRIDE_FRMDLY_SHIFT;