Vinod Koul <vinod.koul@xxxxxxxxx> writes: > This adds new descriptor flag for reusing a descriptor by submitting > multiple times by a client, for example video buffer. > Add helper APIs for this as well > > Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Hi Vinod, Thanks for carrying this feature. > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index e2f5eb419976..2adcd3c1ae48 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -183,6 +183,8 @@ struct dma_interleaved_template { > * operation it continues the calculation with new sources > * @DMA_PREP_FENCE - tell the driver that subsequent operations depend > * on the result of this operation > + * @DMA_CTRL_REUSE: Client can reuse the descriptor and submit again till Wouldn't it be better for homogeneity to have ? : + * @DMA_CTRL_REUSE - client can reuse the descriptor and submit again till > +static inline bool dmaengine_desc_test_reuse(struct dma_async_tx_descriptor *tx) > +{ > + return (tx->flags & DMA_CTRL_REUSE) == DMA_CTRL_REUSE; > +} > + > +static inline int dmaengine_desc_free(struct dma_async_tx_descriptor *desc) > +{ > + /* this is supported for reusable desc, so check that */ > + if (!dmaengine_desc_test_reuse(desc)) Isn't that test inverted, ie. shouldn't this be : + if (dmaengine_desc_test_reuse(desc)) I'm thinking this because of my understanding of the flag, and the documentation you added : + - Explicitly invoking dmaengine_desc_free(), this can succeed only + when DMA_CTRL_REUSE is already set Cheers. -- Robert -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html