altos/stm: Set MISO DMA priority to HIGH to avoid OVR
authorKeith Packard <keithp@keithp.com>
Sat, 3 Sep 2016 05:55:19 +0000 (00:55 -0500)
committerKeith Packard <keithp@keithp.com>
Sat, 3 Sep 2016 06:23:31 +0000 (01:23 -0500)
When the MISO DMA priority is too low, and the processor gets busy,
it's possible for SPI input to overrun the processor, which causes the
MISO DMA to get out of sync and never finish. Set the MISO DMA
priority to HIGH to avoid this.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/stm/ao_spi_stm.c

index 5a3790c5f11a7a37c719a7cd1ac8dfd21c8475dc..05078f3b841b203b9b550040bc191b6aeaeda193 100644 (file)
@@ -116,7 +116,7 @@ ao_spi_set_dma_miso(uint8_t id, void *data, uint16_t len, uint32_t minc)
                            data,
                            len,
                            (0 << STM_DMA_CCR_MEM2MEM) |
-                           (STM_DMA_CCR_PL_MEDIUM << STM_DMA_CCR_PL) |
+                           (STM_DMA_CCR_PL_HIGH << STM_DMA_CCR_PL) |
                            (STM_DMA_CCR_MSIZE_8 << STM_DMA_CCR_MSIZE) |
                            (STM_DMA_CCR_PSIZE_8 << STM_DMA_CCR_PSIZE) |
                            (minc << STM_DMA_CCR_MINC) |