public inbox for dmaengine@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Renesas: dmaengine and ASoC fixes
@ 2026-01-26 10:31 Claudiu
  2026-01-26 10:31 ` [PATCH 1/7] dmaengine: sh: rz-dmac: Add enable status bit Claudiu
                   ` (6 more replies)
  0 siblings, 7 replies; 31+ messages in thread
From: Claudiu @ 2026-01-26 10:31 UTC (permalink / raw)
  To: vkoul, biju.das.jz, prabhakar.mahadev-lad.rj, lgirdwood, broonie,
	perex, tiwai, p.zabel, geert+renesas, fabrizio.castro.jz
  Cc: claudiu.beznea, dmaengine, linux-kernel, linux-sound,
	linux-renesas-soc, Claudiu Beznea

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

Hi,

This series addresses issues identified in the DMA engine and RZ SSI
drivers.

As described in the patch "dmaengine: sh: rz-dmac: Set the Link End (LE)
bit on the last descriptor", stress testing on the Renesas RZ/G2L SoC
showed that starting all available DMA channels could cause the system
to stall after several hours of operation. This issue was resolved by
setting the Link End bit on the last descriptor of a DMA transfer.

However, after applying that fix, the SSI audio driver began to suffer
from frequent overruns and underruns. This was caused by the way the SSI
driver emulated cyclic DMA transfers: at the start of playback/capture
it initially enqueued 4 DMA descriptors as single SG transfers, and upon
completion of each descriptor, a new one was enqueued. Since there was
no indication to the DMA hardware where the descriptor list ended
(though the LE bit), the DMA engine continued transferring until the
audio stream was stopped. From time to time, audio signal spikes were
observed in the recorded file with this approach.

To address these issue, cyclic DMA support was added to the DMA engine
driver, and the SSI audio driver was reworked to use this support via
the generic PCM dmaengine APIs.

Due to the behavior described above, no Fixes tags were added to the
patches in this series, and all patches should be merged through the
same tree.

Please note that the dmaengine patches were based on top of the
following series:
- Add DMA support for RZ/T2H and RZ/N2H (https://lore.kernel.org/all/20260105114445.878262-1-cosmin-gabriel.tanislav.xa@renesas.com/)
- Add tx_status and pause/resume support (https://lore.kernel.org/all/20260120133330.3738850-1-claudiu.beznea.uj@bp.renesas.com/)

Please note that the ASoC patch is based on series:
- ASoC: renesas: rz-ssi: Cleanups (https://lore.kernel.org/all/20260119195252.3362486-1-claudiu.beznea.uj@bp.renesas.com/)

Thank you,
Claudiu

Claudiu Beznea (7):
  dmaengine: sh: rz-dmac: Add enable status bit
  dmaengine: sh: rz-dmac: Add pause status bit
  dmaengine: sh: rz-dmac: Drop the update of CHCTRL_SETEN in
    channel->chctrl APIs
  dmaengine: sh: rz-dmac: Add cyclic DMA support
  dmaengine: sh: rz-dmac: Add suspend to RAM support
  ASoC: renesas: rz-ssi: Use generic PCM dmaengine APIs
  dmaengine: sh: rz-dmac: Set the Link End (LE) bit on the last
    descriptor

 drivers/dma/sh/rz-dmac.c   | 401 ++++++++++++++++++++++++++++++++++---
 sound/soc/renesas/rz-ssi.c | 355 +++++++-------------------------
 2 files changed, 452 insertions(+), 304 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2026-03-16 14:02 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-26 10:31 [PATCH 0/7] Renesas: dmaengine and ASoC fixes Claudiu
2026-01-26 10:31 ` [PATCH 1/7] dmaengine: sh: rz-dmac: Add enable status bit Claudiu
2026-01-26 10:31 ` [PATCH 2/7] dmaengine: sh: rz-dmac: Add pause " Claudiu
2026-01-26 10:31 ` [PATCH 3/7] dmaengine: sh: rz-dmac: Drop the update of CHCTRL_SETEN in channel->chctrl APIs Claudiu
2026-01-26 10:31 ` [PATCH 4/7] dmaengine: sh: rz-dmac: Add cyclic DMA support Claudiu
2026-01-26 10:31 ` [PATCH 5/7] dmaengine: sh: rz-dmac: Add suspend to RAM support Claudiu
2026-01-26 11:03   ` Biju Das
2026-01-26 12:04     ` Claudiu Beznea
2026-01-26 12:10       ` Biju Das
2026-01-26 12:39         ` Claudiu Beznea
2026-01-26 12:51           ` Biju Das
2026-01-26 13:06             ` Biju Das
2026-01-26 13:07             ` Claudiu Beznea
2026-01-26 13:12               ` Biju Das
2026-01-26 15:28                 ` Biju Das
2026-02-05 13:00                   ` Claudiu Beznea
2026-02-05 13:30                     ` Biju Das
2026-02-05 13:33                       ` Geert Uytterhoeven
2026-02-05 14:06                         ` Biju Das
2026-02-05 17:20                           ` Claudiu Beznea
2026-02-05 17:41                             ` Biju Das
2026-02-06  7:25                               ` Biju Das
2026-02-06  9:58                               ` Claudiu Beznea
2026-02-06 10:08                                 ` Biju Das
2026-03-12 10:07                                 ` Biju Das
2026-03-12 12:26   ` Tommaso Merciai
2026-03-16 14:02     ` claudiu beznea
2026-01-26 10:31 ` [PATCH 6/7] ASoC: renesas: rz-ssi: Use generic PCM dmaengine APIs Claudiu
2026-01-26 14:26   ` Geert Uytterhoeven
2026-01-26 14:46     ` Claudiu Beznea
2026-01-26 10:31 ` [PATCH 7/7] dmaengine: sh: rz-dmac: Set the Link End (LE) bit on the last descriptor Claudiu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox