]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dmaengine: sun6i: Add debug messages for cyclic DMA prepare
authorChen-Yu Tsai <wens@kernel.org>
Sun, 21 Dec 2025 06:47:52 +0000 (14:47 +0800)
committerVinod Koul <vkoul@kernel.org>
Tue, 23 Dec 2025 07:00:39 +0000 (12:30 +0530)
The driver already has debug messages for memcpy and linear transfers,
but is missing them for cyclic transfers.

Cyclic transfers are one of the main uses of the DMA controller, used
for audio data transfers. And since these are likely the first DMA
peripherals to be enabled, it helps to have these debug messages.

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
Link: https://patch.msgid.link/20251221064754.1783369-1-wens@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sun6i-dma.c

index f9d876deb1f05c44fd572789adfb4f79b6328eff..c33f151953ebf7bb8450f7a01af35bf5122e89ec 100644 (file)
@@ -840,6 +840,11 @@ static struct dma_async_tx_descriptor *sun6i_dma_prep_dma_cyclic(
                        v_lli->cfg = lli_cfg;
                        sdev->cfg->set_drq(&v_lli->cfg, DRQ_SDRAM, vchan->port);
                        sdev->cfg->set_mode(&v_lli->cfg, LINEAR_MODE, IO_MODE);
+                       dev_dbg(chan2dev(chan),
+                               "%s; chan: %d, dest: %pad, src: %pad, len: %zu. flags: 0x%08lx\n",
+                               __func__, vchan->vc.chan.chan_id,
+                               &sconfig->dst_addr, &buf_addr,
+                               buf_len, flags);
                } else {
                        sun6i_dma_set_addr(sdev, v_lli,
                                           sconfig->src_addr,
@@ -847,6 +852,11 @@ static struct dma_async_tx_descriptor *sun6i_dma_prep_dma_cyclic(
                        v_lli->cfg = lli_cfg;
                        sdev->cfg->set_drq(&v_lli->cfg, vchan->port, DRQ_SDRAM);
                        sdev->cfg->set_mode(&v_lli->cfg, IO_MODE, LINEAR_MODE);
+                       dev_dbg(chan2dev(chan),
+                               "%s; chan: %d, dest: %pad, src: %pad, len: %zu. flags: 0x%08lx\n",
+                               __func__, vchan->vc.chan.chan_id,
+                               &buf_addr, &sconfig->src_addr,
+                               buf_len, flags);
                }
 
                prev = sun6i_dma_lli_add(prev, v_lli, p_lli, txd);