nuttx/arch
alexcekay 1446961c87 arch/arm/stm32h7: Fix SPI RX DMA returning stale DCACHE data
In sporadic cases it is possible that a SPI exchange returns stale RX data from the DCACHE.

This occurs when:
- DCACHE is enabled
- DMA is used

The impact of this can be hard to debug and vanishes when the timing even changes minimally.

This is caused by the DCACHE being invalidated before the actual DMA transaction starts which violates
the recommendations from AN4839 and also does not match the implementation of other drivers on the STM32H7/STM32F7.

Fixed by invalidating the DCACHE right before the actual read, which matches the implementation
of the STM32F7 SPI driver.

Signed-off-by: alexcekay <alexander@auterion.com>
2026-04-23 16:28:36 +02:00
..
arm arch/arm/stm32h7: Fix SPI RX DMA returning stale DCACHE data 2026-04-23 16:28:36 +02:00
arm64 style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
avr style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
ceva include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
dummy
hc style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
mips include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
misoc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
or1k include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
renesas style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
risc-v arch/[risc-v|xtensa]: Re-add RMT_LOOP_TEST_MODE Kconfig entry 2026-04-23 09:31:36 +08:00
sim sim: replace posix timer with GCD dispatch timer on macOS 2026-04-14 19:40:10 +08:00
sparc include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
tricore include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
x86 include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
x86_64 arch/x86_64/intel64: fix signal delivery race in x86_64_sigdeliver 2026-04-21 21:57:44 +08:00
xtensa arch/[risc-v|xtensa]: Re-add RMT_LOOP_TEST_MODE Kconfig entry 2026-04-23 09:31:36 +08:00
z16 include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
z80 style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
CMakeLists.txt arch/z80: migrate to SPDX identifier 2024-12-02 17:23:25 +08:00
Kconfig arch/delays: Invalid default value for BOARD_LOOPSPERMSEC 2026-02-25 15:00:03 -03:00