On 2021/7/2 15:07, Liang Ma wrote: >> 8) One example: >> vq_id = rte_dmadev_queue_setup(dev, config.{HW-queue-index=x, opaque}); >> if (vq_id < 0) { >> // create virt-queue failed >> return; >> } >> // submit memcpy task >> cookit = rte_dmadev_memcpy(dev, vq_id, src, dst, len, flags); >> if (cookie < 0) { >> // submit failed >> return; >> } > IMO > rte_dmadev_memcpy should return ops number successfully submitted > that's easier to do re-submit if previous session is not fully > submitted.
emm, I didn't get your point. Welcome review the new patch, tks >> // get complete task >> ret = rte_dmadev_completed(dev, vq_id, &cookie, 1, has_error); >> if (!has_error && ret == 1) { >> // the memcpy successful complete >> } >> 9) As octeontx2_dma support sg-list which has many valid buffers in >> dpi_dma_buf_ptr_s, it could call the rte_dmadev_memcpy_sg API. >> 10) As ioat, it could delcare support one HW-queue at dev_configure stage, >> and >> only support create one virt-queue. >> 11) As dpaa2_qdma, I think it could migrate to new framework, but still >> wait >> for dpaa2_qdma guys feedback. >> 12) About the prototype src/dst parameters of rte_dmadev_memcpy API, we >> have >> two candidates which are iova and void *, how about introduce >> dma_addr_t >> type which could be va or iova ? >> > > . >