dmaengine: Support different source and destination stride
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 7 May 2015 15:38:07 +0000 (17:38 +0200)
committerVinod Koul <vinod.koul@intel.com>
Mon, 18 May 2015 05:28:58 +0000 (10:58 +0530)
In interleaved mode, we can expect to have different source and destination
strides.

Add support for such case to dmaengine.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
include/linux/dmaengine.h

index ad419757241ffc7c5d5346f4b82462f5a83f1897..5d63acb09813b8d2e93840adfe95333f913cc485 100644 (file)
@@ -122,10 +122,18 @@ enum dma_transfer_direction {
  *      chunk and before first src/dst address for next chunk.
  *      Ignored for dst(assumed 0), if dst_inc is true and dst_sgl is false.
  *      Ignored for src(assumed 0), if src_inc is true and src_sgl is false.
+ * @dst_icg: Number of bytes to jump after last dst address of this
+ *      chunk and before the first dst address for next chunk.
+ *      Ignored if dst_inc is true and dst_sgl is false.
+ * @src_icg: Number of bytes to jump after last src address of this
+ *      chunk and before the first src address for next chunk.
+ *      Ignored if src_inc is true and src_sgl is false.
  */
 struct data_chunk {
        size_t size;
        size_t icg;
+       size_t dst_icg;
+       size_t src_icg;
 };
 
 /**