Hello, So far all my testing was performed by looping the playback output to the recording input and comparing the files using FFTs. Unfortunately, when the DMA engine suffers from the same issue on both sides, some issues may appear un-noticed. I now have proper hardware to really listen to the actual sound, so here are a couple of fixes and improvements. Cheers, Miquèl Changes in v2: * Added a patch to clarify the logic in the interrupt handler between cyclic and sg transfers. * Fixed the count of elapsed periods without breaking SG. Miquel Raynal (4): dmaengine: xilinx: xdma: Fix the count of elapsed periods in cyclic mode dmaengine: xilinx: xdma: Clarify the logic between cyclic/sg modes dmaengine: xilinx: xdma: Better handling of the busy variable dmaengine: xilinx: xdma: Add terminate_all/synchronize callbacks drivers/dma/xilinx/xdma.c | 103 +++++++++++++++++++++++++++++++------- 1 file changed, 85 insertions(+), 18 deletions(-) -- 2.34.1