mbox series

[v2,0/4] dmaengine: xilinx: Misc (cyclic) transfers fixes

Message ID 20231130111315.729430-1-miquel.raynal@bootlin.com (mailing list archive)
Headers show
Series dmaengine: xilinx: Misc (cyclic) transfers fixes | expand

Message

Miquel Raynal Nov. 30, 2023, 11:13 a.m. UTC
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(-)

Comments

Vinod Koul Dec. 21, 2023, 4:30 p.m. UTC | #1
On Thu, 30 Nov 2023 12:13:11 +0100, Miquel Raynal wrote:
> 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.
> 
> [...]

Applied, thanks!

[1/4] dmaengine: xilinx: xdma: Fix the count of elapsed periods in cyclic mode
      commit: 26ee018ff6d1c326ac9b9be36513e35870ed09db
[2/4] dmaengine: xilinx: xdma: Clarify the logic between cyclic/sg modes
      commit: 58b61fc75ba901b1fd63c911b31249f36d17e9c4
[3/4] dmaengine: xilinx: xdma: Better handling of the busy variable
      commit: b3072be7f955e56789a0508c18e9870f45cd9a11
[4/4] dmaengine: xilinx: xdma: Add terminate_all/synchronize callbacks
      commit: f5c392d106e7cc58c7705799ef4c36c3b2f60b31

Best regards,