Hi Laurent, On 28-05-20, 05:52, Laurent Pinchart wrote: > @@ -176,6 +178,18 @@ struct dma_interleaved_template { > * @DMA_PREP_CMD: tell the driver that the data passed to DMA API is command > * data and the descriptor should be in different format from normal > * data descriptors. > + * @DMA_PREP_REPEAT: tell the driver that the transaction shall be automatically > + * repeated when it ends if no other transaction has been issued on the same > + * channel. If other transactions have been issued, this transaction completes > + * normally. This flag is only applicable to interleaved transactions and is > + * ignored for all other transaction types. 1. Let us not restrict this to only interleave (hint we can in future replace cyclic API) 2. DMA_PREP_REPEAT telling the transaction shall be automatically repeated is okay. No issues with that > + * @DMA_PREP_LOAD_EOT: tell the driver that the transaction shall replaced any s/replaced/replace > + * active repeated (as indicated by DMA_PREP_REPEAT) transaction when the > + * repeated transaction terminate. Not setting this flag when the previously > + * queued transaction is marked with DMA_PREP_REPEAT will cause the new > + * transaction to never be processed and stay in the issued queue forever. > + * The flag is ignored if the previous transaction is not a repeated > + * transaction. I am happy with this bit, I think we dont need to specify something like DMA_PREP_LOAD_NEXT given the explanation here, so adding DMA_PREP_LOAD_EOT would mean that. Can we add a corresponding EOB as well to complete this -- ~Vinod