You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2021/03/15 05:21:28 UTC
[incubator-nuttx] branch master updated: arm/rp2040: Fix SPI
halfword DMA transfer
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 40fe666 arm/rp2040: Fix SPI halfword DMA transfer
40fe666 is described below
commit 40fe666d3f40d0bb196f08037038c1e483341c25
Author: Yuichi Nakamura <y....@gmail.com>
AuthorDate: Mon Mar 15 07:55:21 2021 +0900
arm/rp2040: Fix SPI halfword DMA transfer
---
arch/arm/src/rp2040/rp2040_dmac.c | 4 ++--
arch/arm/src/rp2040/rp2040_spi.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/src/rp2040/rp2040_dmac.c b/arch/arm/src/rp2040/rp2040_dmac.c
index b41f2ec..b50423f 100644
--- a/arch/arm/src/rp2040/rp2040_dmac.c
+++ b/arch/arm/src/rp2040/rp2040_dmac.c
@@ -357,7 +357,7 @@ void rp2040_rxdmasetup(DMA_HANDLE handle, uintptr_t paddr, uintptr_t maddr,
RP2040_DMA_CTRL_TRIG_TREQ_SEL_MASK) |
((ch << RP2040_DMA_CTRL_TRIG_CHAIN_TO_SHIFT) &
RP2040_DMA_CTRL_TRIG_CHAIN_TO_MASK) |
- config.size;
+ (config.size << RP2040_DMA_CTRL_TRIG_DATA_SIZE_SHIFT);
if (!config.noincr)
{
@@ -418,7 +418,7 @@ void rp2040_txdmasetup(DMA_HANDLE handle, uintptr_t paddr, uintptr_t maddr,
RP2040_DMA_CTRL_TRIG_TREQ_SEL_MASK) |
((ch << RP2040_DMA_CTRL_TRIG_CHAIN_TO_SHIFT) &
RP2040_DMA_CTRL_TRIG_CHAIN_TO_MASK) |
- config.size;
+ (config.size << RP2040_DMA_CTRL_TRIG_DATA_SIZE_SHIFT);
if (!config.noincr)
{
diff --git a/arch/arm/src/rp2040/rp2040_spi.c b/arch/arm/src/rp2040/rp2040_spi.c
index 4f67dbf..9d1e527 100644
--- a/arch/arm/src/rp2040/rp2040_spi.c
+++ b/arch/arm/src/rp2040/rp2040_spi.c
@@ -1070,7 +1070,7 @@ static void spi_dmatxsetup(FAR struct rp2040_spidev_s *priv,
}
rp2040_txdmasetup(priv->txdmach, (uintptr_t)dst, (uintptr_t)txbuffer,
- nwords, priv->txconfig);
+ nwords << priv->txconfig.size, priv->txconfig);
}
/****************************************************************************
@@ -1110,7 +1110,7 @@ static void spi_dmarxsetup(FAR struct rp2040_spidev_s *priv,
}
rp2040_rxdmasetup(priv->rxdmach, (uintptr_t)src, (uintptr_t)rxbuffer,
- nwords, priv->rxconfig);
+ nwords << priv->rxconfig.size, priv->rxconfig);
}
/****************************************************************************