From eb505ed86641b3bd4cab8f94cc3e77a3caf238b2 Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Nihei Date: Thu, 25 Mar 2021 11:19:12 -0300 Subject: [PATCH] xtensa/esp32: Fix DMA burst mode being unintendedly disabled --- arch/xtensa/src/esp32/esp32_spi.c | 2 +- arch/xtensa/src/esp32/esp32_spi_slave.c | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/xtensa/src/esp32/esp32_spi.c b/arch/xtensa/src/esp32/esp32_spi.c index 2ad5792f1f..37999fd125 100644 --- a/arch/xtensa/src/esp32/esp32_spi.c +++ b/arch/xtensa/src/esp32/esp32_spi.c @@ -900,7 +900,7 @@ static void esp32_spi_dma_exchange(FAR struct esp32_spi_priv_s *priv, esp32_spi_set_regbits(priv, SPI_SLAVE_OFFSET, SPI_SYNC_RESET_M); esp32_spi_reset_regbits(priv, SPI_SLAVE_OFFSET, SPI_SYNC_RESET_M); - esp32_spi_set_reg(priv, SPI_DMA_CONF_OFFSET, SPI_DMA_RESET_MASK); + esp32_spi_set_regbits(priv, SPI_DMA_CONF_OFFSET, SPI_DMA_RESET_MASK); esp32_spi_reset_regbits(priv, SPI_DMA_CONF_OFFSET, SPI_DMA_RESET_MASK); n = esp32_dma_init(s_dma_txdesc[priv->config->dma_chan - 1], diff --git a/arch/xtensa/src/esp32/esp32_spi_slave.c b/arch/xtensa/src/esp32/esp32_spi_slave.c index e4ffdefe66..0bab2888a2 100644 --- a/arch/xtensa/src/esp32/esp32_spi_slave.c +++ b/arch/xtensa/src/esp32/esp32_spi_slave.c @@ -763,9 +763,8 @@ static int esp32_spislv_interrupt(int irq, void *context, FAR void *arg) if (priv->dma_chan) { - esp32_spi_set_reg(priv, SPI_DMA_CONF_OFFSET, SPI_DMA_RESET_MASK); - esp32_spi_reset_regbits(priv, SPI_DMA_CONF_OFFSET, - SPI_DMA_RESET_MASK); + esp32_spi_set_regbits(priv, SPI_DMA_CONF_OFFSET, SPI_DMA_RESET_MASK); + esp32_spi_reset_regbits(priv, SPI_DMA_CONF_OFFSET, SPI_DMA_RESET_MASK); } if (priv->process == false)