diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-02-21 22:00:28 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-02-21 22:00:28 +0000 |
commit | 5c775298fca577723a497605f0f4dec4df9fa05a (patch) | |
tree | 42953b95266cf4011d01d1580f5c0eff56518337 /nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c | |
parent | c56a18fb38e4d9d11b6799eef395a6dc667750e7 (diff) | |
download | px4-nuttx-5c775298fca577723a497605f0f4dec4df9fa05a.tar.gz px4-nuttx-5c775298fca577723a497605f0f4dec4df9fa05a.tar.bz2 px4-nuttx-5c775298fca577723a497605f0f4dec4df9fa05a.zip |
STM32 SDIO DMA: Ignore DMA FIFO errors; these seem to be bogus. SD multiple block transfers result in CRC errors; avoid them by using smaller FTP buffer sizes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4410 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c')
-rw-r--r-- | nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c b/nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c index 02d996631..db09cfd2e 100644 --- a/nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c +++ b/nuttx/arch/arm/src/stm32/stm32f40xxx_dma.c @@ -676,11 +676,14 @@ void stm32_dmasetup(DMA_HANDLE handle, uint32_t paddr, uint32_t maddr, * case, a FIFO error (flag FEIFx of the DMA_HISR or DMA_LISR register) will be * generated when the stream is enabled, then the stream will be automatically * disabled." + * + * NOTE: The FEIFx error interrupt is not enabled because the FEIFx seems to + * be reported spuriously causing good transfers to be marked as failures. */ regval = dmast_getreg(dmast, STM32_DMA_SFCR_OFFSET); - regval &= ~(DMA_SFCR_FTH_MASK | DMA_SFCR_FS_MASK); - regval |= (DMA_SFCR_FTH_FULL | DMA_SFCR_DMDIS | DMA_SFCR_FEIE); + regval &= ~(DMA_SFCR_FTH_MASK | DMA_SFCR_FS_MASK | DMA_SFCR_FEIE); + regval |= (DMA_SFCR_FTH_FULL | DMA_SFCR_DMDIS); dmast_putreg(dmast, STM32_DMA_SFCR_OFFSET, regval); /* "Configure data transfer direction, circular mode, peripheral & memory |