zephyr/drivers/dai
Laurentiu Mihalcea 6644fa9104 dai: nxp: sai: Disable data line on pause trigger
Currently, whenever performing TRIGGER_PAUSE operation, the
data line is not disabled. This works well if TX and RX don't
operate at the same time or they operate in ASYNC-ASYNC mode. This
is because sai_tx_rx_disable() will disable transmitter/receiver
all the time since there's no dependencies to take into consideration.
However, in the ASYNC-SYNC mode, sai_tx_rx_disable() may not disable
the current asynchronous side if the synchronous side is still enabled.
As a consequence, the asynchronous side will remain enabled, thus
leading to an underrun/overrun.

To fix this issue, sai_trigger_pause() should disable the data line
each time it's called. This way, even if sai_tx_rx_disable() doesn't
disable the current direction, the data line will be disabled, thus
stopping the consumption/production of frames.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-02-01 14:27:37 -06:00
..
intel dai: intel: dmic: demote spurious LOG_ERR in dai_nhlt_get_clock_div() 2024-01-15 09:59:29 +01:00
nxp/sai dai: nxp: sai: Disable data line on pause trigger 2024-02-01 14:27:37 -06:00
CMakeLists.txt drivers: dai: Add driver for NXP's SAI 2023-12-20 11:15:13 +01:00
Kconfig drivers: dai: Add driver for NXP's SAI 2023-12-20 11:15:13 +01:00