From a6404c7291bcc10114e72e9d0226709ec9d05d5a Mon Sep 17 00:00:00 2001 From: Alex Bereza Date: Thu, 2 Apr 2026 09:46:23 +0200 Subject: [PATCH] dmaengine: xilinx_dma: Rename XILINX_DMA_LOOP_COUNT Rename XILINX_DMA_LOOP_COUNT to XILINX_DMA_POLL_TIMEOUT_US because it is a timeout value, not a loop count for polling register in microseconds. No functional changes. Reviewed-by: Suraj Gupta Signed-off-by: Alex Bereza Link: https://patch.msgid.link/20260402-fix-atomic-poll-timeout-regression-v4-2-f30d6a6c13cb@bereza.email Signed-off-by: Vinod Koul --- drivers/dma/xilinx/xilinx_dma.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/dma/xilinx/xilinx_dma.c b/drivers/dma/xilinx/xilinx_dma.c index ddf9635809d3..98b41b8f8915 100644 --- a/drivers/dma/xilinx/xilinx_dma.c +++ b/drivers/dma/xilinx/xilinx_dma.c @@ -165,8 +165,8 @@ #define XILINX_DMA_FLUSH_MM2S 2 #define XILINX_DMA_FLUSH_BOTH 1 -/* Delay loop counter to prevent hardware failure */ -#define XILINX_DMA_LOOP_COUNT 1000000 +/* Timeout for polling various registers */ +#define XILINX_DMA_POLL_TIMEOUT_US 1000000 /* Delay between polls (avoid a delay of 0 to prevent CPU stalls) */ #define XILINX_DMA_POLL_DELAY_US 10 @@ -1328,7 +1328,7 @@ static int xilinx_dma_stop_transfer(struct xilinx_dma_chan *chan) return xilinx_dma_poll_timeout(chan, XILINX_DMA_REG_DMASR, val, val & XILINX_DMA_DMASR_HALTED, XILINX_DMA_POLL_DELAY_US, - XILINX_DMA_LOOP_COUNT); + XILINX_DMA_POLL_TIMEOUT_US); } /** @@ -1344,7 +1344,7 @@ static int xilinx_cdma_stop_transfer(struct xilinx_dma_chan *chan) return xilinx_dma_poll_timeout(chan, XILINX_DMA_REG_DMASR, val, val & XILINX_DMA_DMASR_IDLE, XILINX_DMA_POLL_DELAY_US, - XILINX_DMA_LOOP_COUNT); + XILINX_DMA_POLL_TIMEOUT_US); } /** @@ -1362,7 +1362,7 @@ static void xilinx_dma_start(struct xilinx_dma_chan *chan) err = xilinx_dma_poll_timeout(chan, XILINX_DMA_REG_DMASR, val, !(val & XILINX_DMA_DMASR_HALTED), XILINX_DMA_POLL_DELAY_US, - XILINX_DMA_LOOP_COUNT); + XILINX_DMA_POLL_TIMEOUT_US); if (err) { dev_err(chan->dev, "Cannot start channel %p: %x\n", @@ -1807,7 +1807,7 @@ static int xilinx_dma_reset(struct xilinx_dma_chan *chan) err = xilinx_dma_poll_timeout(chan, XILINX_DMA_REG_DMACR, tmp, !(tmp & XILINX_DMA_DMACR_RESET), XILINX_DMA_POLL_DELAY_US, - XILINX_DMA_LOOP_COUNT); + XILINX_DMA_POLL_TIMEOUT_US); if (err) { dev_err(chan->dev, "reset timeout, cr %x, sr %x\n",