On Mon, Jul 31, 2017 at 07:14:10PM -0700, Dan Williams wrote: > > static struct dma_async_tx_descriptor * > > __ioat_prep_xor_lock(struct dma_chan *c, enum sum_check_flags *result, > > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > > index 5336808..6202e7c 100644 > > --- a/include/linux/dmaengine.h > > +++ b/include/linux/dmaengine.h > > @@ -694,6 +694,8 @@ struct dma_filter { > > * @device_prep_dma_memset: prepares a memset operation > > * @device_prep_dma_memset_sg: prepares a memset operation over a scatter list > > * @device_prep_dma_interrupt: prepares an end of chain interrupt operation > > + * @device_prep_dma_memcpy_to_sg: prepares memcpy from buffer to scatterlist > > + * @device_prep_dma_memcpy_from_sg: prepares memcpy from scatterlist to buffer > > * @device_prep_slave_sg: prepares a slave dma operation > > * @device_prep_dma_cyclic: prepare a cyclic dma operation suitable for audio. > > * The function takes a buffer of size buf_len. The callback function will > > @@ -776,6 +778,14 @@ struct dma_device { > > struct scatterlist *dst_sg, unsigned int dst_nents, > > struct scatterlist *src_sg, unsigned int src_nents, > > unsigned long flags); > > + struct dma_async_tx_descriptor *(*device_prep_dma_memcpy_to_sg)( > > + struct dma_chan *chan, > > + struct scatterlist *dst_sg, unsigned int dst_nents, > > + dma_addr_t src, unsigned long flags); > > + struct dma_async_tx_descriptor *(*device_prep_dma_memcpy_from_sg)( > > + struct dma_chan *chan, dma_addr_t dst, > > + struct scatterlist *dst_sg, unsigned int dst_nents, > > + unsigned long flags); > > > > struct dma_async_tx_descriptor *(*device_prep_slave_sg)( > > struct dma_chan *chan, struct scatterlist *sgl, > > > > Can we get away with just adding one new operation with a flag to > indicate whether it is the 'to' or' 'from' sg case? Yeah that would be better.. -- ~Vinod -- 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