History

dmaengine: Introduce min burst length capability

Some hardware aside from default 0/1 may have greater minimum burst transactions length constraints. Here we introduce the DMA device and slave capability, which if required can be initialized by the DMA engine driver with the device-specific value.

Serge Semin committed 6 years ago

Commit d97758e1 parent 2e7d7422 files · +5 −0Browse files

Showing the changes to include/linux (1 of 2 files). Show all

Unified · Split

include/linux/dmaengine.h+4−0
@@ -467,6 +467,7 @@ enum dma_residue_granularity { · 466 unmodified lines
467467 * Since the enum dma_transfer_direction is not defined as bit flag for
468468 * each type, the dma controller should set BIT(<TYPE>) and same
469469 * should be checked by controller as well
470+ * @min_burst: min burst capability per-transfer
470471 * @max_burst: max burst capability per-transfer
471472 * @cmd_pause: true, if pause is supported (i.e. for reading residue or
472473 * for resume later)
@@ -480,6 +481,7 @@ struct dma_slave_caps { · 7 unmodified lines
480481 u32 src_addr_widths;
481482 u32 dst_addr_widths;
482483 u32 directions;
484+ u32 min_burst;
483485 u32 max_burst;
484486 bool cmd_pause;
485487 bool cmd_resume;
@@ -771,6 +773,7 @@ struct dma_filter { · 285 unmodified lines
771773 * Since the enum dma_transfer_direction is not defined as bit flag for
772774 * each type, the dma controller should set BIT(<TYPE>) and same
773775 * should be checked by controller as well
776+ * @min_burst: min burst capability per-transfer
774777 * @max_burst: max burst capability per-transfer
775778 * @residue_granularity: granularity of the transfer residue reported
776779 * by tx_status
@@ -841,6 +844,7 @@ struct dma_device { · 64 unmodified lines
841844 u32 src_addr_widths;
842845 u32 dst_addr_widths;
843846 u32 directions;
847+ u32 min_burst;
844848 u32 max_burst;
845849 bool descriptor_reuse;
846850 enum dma_residue_granularity residue_granularity;