media: xilinx: dma: Support asynchronous pipeline operation
When a pipeline contains multiple output DMA engines, stream start is
delayed until all DMA engines have been started. This is required to
avoid stalling the full pipeline, as stopped DMA engines apply
back-pressure along the AXI Stream links. The drawback is that streams
can't be started and stopped independently.
When the pipeline contains elements that can block stopped streams from
reaching a stopped DMA engine, individual control of the DMA engines is
possible. Support it with a new async operation mode, controlled for now
through a module parameter. Ideally the nature of the pipeline should be
detected automatically, this is left for future improvements.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
1 file changed