On 13-05-20, 09:35, Dave Jiang wrote: > > > On 5/13/2020 12:30 AM, Peter Ujfalusi wrote: > > > > > > On 12/05/2020 2.47, Dave Jiang wrote: > > > The cookie tracking in dmaengine expects all submissions completed in > > > order. Some DMA devices like Intel DSA can complete submissions out of > > > order, especially if configured with a work queue sharing multiple DMA > > > engines. Add a status DMA_OUT_OF_ORDER that tx_status can be returned for > > > those DMA devices. The user should use callbacks to track the completion > > > rather than the DMA cookie. This would address the issue of dmatest > > > complaining that descriptors are "busy" when the cookie count goes > > > backwards due to out of order completion. Add DMA_COMPLETION_NO_ORDER > > > DMA capability to allow the driver to flag the device's ability to complete > > > operations out of order. > > > > I'm still a bit hesitant around this. > > If the DMA only support out of order completion then it is mandatory > > that each descriptor must have unique callback parameter in order the > > client could know which transfer has been completed. Maybe we can still use the cookie to indicate that, or leave it to users to manage? They can add an id in the callback params? Using former is easy, but still user needs to keep track... later can be possibly more suited here? -- ~Vinod