Просмотр исходного кода

dmaengine: Support different source and destination stride

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>
Maxime Ripard 10 лет назад
Родитель
Сommit
e1031dc1f7
1 измененных файлов с 8 добавлено и 0 удалено
  1. 8 0
      include/linux/dmaengine.h

+ 8 - 0
include/linux/dmaengine.h

@@ -122,10 +122,18 @@ enum dma_transfer_direction {
  *	 chunk and before first src/dst address for next chunk.
  *	 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 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.
  *	 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 {
 struct data_chunk {
 	size_t size;
 	size_t size;
 	size_t icg;
 	size_t icg;
+	size_t dst_icg;
+	size_t src_icg;
 };
 };
 
 
 /**
 /**