On 4/23/21 3:24 PM, Vinod Koul wrote:
On 23-04-21, 11:17, Lars-Peter Clausen wrote:
It seems to me what we are missing from the DMAengine API is the equivalent
of device_prep_dma_memcpy() that is able to take SG lists. There is already
a memset_sg, it should be possible to add something similar for memcpy.
You mean something like dmaengine_prep_dma_sg() which was removed?
Ah, that's why I could have sworn we already had this!
static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_sg(
struct dma_chan *chan,
struct scatterlist *dst_sg, unsigned int dst_nents,
struct scatterlist *src_sg, unsigned int src_nents,
unsigned long flags)
The problem with this API is that it would work only when src_sg and
dst_sg is of similar nature, if not then how should one go about
copying...should we fill without a care for dst_sg being different than
src_sg as long as total data to be copied has enough space in dst...
At least for the CDMA the only requirement is that both buffers have the
same total size.