zephyr/drivers/i2s
Armando Visconti 455829248f drivers/i2s_ll_stm32.c: (FIX) use dma_reload() to re-start the DMA
Fix issue #14618.
The I2S controller may generate an underrun/overrun error whenever
the current sample in the Data Register (DR) has not been read/written
yet when a new one needs to be sent/received. When the DMA operation
is completed there is no much time to re-enable it for a new
transfer. For example, in the case of a PDM microphone clocked at
2MHz we only have 8us to re-program the DMA to receive the new 16-bit
sample.

Doing a complete DMA configuration using the dma_config() API is an
operation that is consuming too much time and driver is close to the
limit. Instead, the dma_reload() routine only programs the minimum
needed information (src, dst, len) for the  new transfer in order
to restart the DMA.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2019-03-18 11:22:19 -05:00
..
CMakeLists.txt drivers: i2s: Add support for I2S stm32 2018-10-11 16:55:00 +02:00
i2s_cavs.c drivers: i2s_cavs: replace cache operation macros 2019-02-20 07:33:11 -05:00
i2s_cavs.h drivers: i2s_cavs: add transmit underrun status 2019-02-04 00:52:15 -05:00
i2s_common.c all: Update reserved function names 2019-03-11 13:48:42 -04:00
i2s_handlers.c all: Update reserved function names 2019-03-11 13:48:42 -04:00
i2s_ll_stm32.c drivers/i2s_ll_stm32.c: (FIX) use dma_reload() to re-start the DMA 2019-03-18 11:22:19 -05:00
i2s_ll_stm32.h drivers: i2s: Add support for I2S stm32 2018-10-11 16:55:00 +02:00
i2s_sam_ssc.c drivers: Add 'U' to unsigned variable assignments 2018-12-04 22:51:56 -05:00
Kconfig driver: i2s: move to new logger 2018-10-10 10:22:01 -04:00
Kconfig.cavs drivers: i2s_cavs: Add bidirectional I2S support 2018-11-05 08:48:36 -05:00
Kconfig.sam_ssc drivers: i2c: Kconfig: Remove redundant 'default n' properties 2018-07-03 17:11:31 -04:00
Kconfig.stm32 kconfig: drivers: i2s: Remove redundant deps. 2019-03-09 10:01:12 -05:00