This is an automated email from the ASF dual-hosted git repository. archer pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 48e9de51f998e313684b653c5346e37cc3e3190b Author: SPRESENSE <[email protected]> AuthorDate: Wed Mar 25 17:23:25 2026 +0900 arch: cxd56xx: Fix DMA transfer for large memory size When using a dummy memory address in DMA LLI transfers, do not update the memory address. Signed-off-by: SPRESENSE <[email protected]> --- arch/arm/src/cxd56xx/cxd56_dmac.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/arm/src/cxd56xx/cxd56_dmac.c b/arch/arm/src/cxd56xx/cxd56_dmac.c index 22d931cd3b1..54100990dcb 100644 --- a/arch/arm/src/cxd56xx/cxd56_dmac.c +++ b/arch/arm/src/cxd56xx/cxd56_dmac.c @@ -941,7 +941,11 @@ void cxd56_rxdmasetup(DMA_HANDLE handle, uintptr_t paddr, uintptr_t maddr, CXD56_DMAC_BSIZE4, CXD56_DMAC_BSIZE4, /* Dest / Src burst size (fixed) */ CXD56_DMAC_MAX_SIZE); - dst += CXD56_DMAC_MAX_SIZE; + if (di) + { + dst += CXD56_DMAC_MAX_SIZE; + } + rest -= CXD56_DMAC_MAX_SIZE; } @@ -1012,7 +1016,11 @@ void cxd56_txdmasetup(DMA_HANDLE handle, uintptr_t paddr, uintptr_t maddr, CXD56_DMAC_BSIZE1, CXD56_DMAC_BSIZE1, /* Dest / Src burst size (fixed) */ CXD56_DMAC_MAX_SIZE); - src += CXD56_DMAC_MAX_SIZE; + if (si) + { + src += CXD56_DMAC_MAX_SIZE; + } + rest -= CXD56_DMAC_MAX_SIZE; }
