Re: [PATCH 00/13] Add DMA support for LINFlexD UART driver
From: Jared Kangas
Date: Fri Feb 27 2026 - 09:15:09 EST
Hi Larisa,
On Mon, Feb 16, 2026 at 04:01:52PM +0100, Larisa Grigore wrote:
> This patchset enhances the LINFlexD UART driver and its device tree bindings to
> support DMA transfers, configurable clock inputs, dynamic baudrate changes, and
> termios features. It also includes a series of fixes and improvements to ensure
> reliable operation across various modes and configurations.
>
> The changes added can be summarized as follows:
> 1. Fixes with respect to FIFO handling, locking, interrupt related registers and
> INITM mode transition.
Tested this series with the default devicetree configuration by booting
the board to a login prompt about 200 times. Without the series applied,
I was seeing a bug roughly every 30-50 boots where the kernel would
would hang in linflex_console_putchar() waiting for DTFTFF. In my tests
with the series applied, I didn't see any regressions and the bug no
longer appeared. Thanks for the fix!
Tested-by: Jared Kangas <jkangas@xxxxxxxxxx> # S32G3, interrupt-driven
> 2. Removal of the earlycon workaround, as proper FIFO handling and INITM
> transitions now ensure stable behavior.
> 3. Support for configurable stop bits and dynamic baudrate changes based on
> clock inputs and termios settings.
> 4. Optional DMA support for RX and TX paths, preventing character loss during
> high-throughput operations like copy-paste. Cyclic DMA is used for RX to avoid
> gaps between transactions.
>
> Larisa Grigore (8):
> serial: linflexuart: Clean SLEEP bit in LINCR1 after suspend
> serial: linflexuart: Check FIFO full before writing
> serial: linflexuart: Correctly clear UARTSR in buffer mode
> serial: linflexuart: Update RXEN/TXEN outside INITM mode
> serial: linflexuart: Ensure FIFO is empty when entering INITM
> serial: linflexuart: Revert earlycon workaround
> serial: linflexuart: Add support for configurable stop bits
> serial: linflexuart: Add DMA support
>
> Radu Pirea (5):
> serial: linflexuart: Fix locking in set_termios
> dt-bindings: serial: fsl-linflexuart: add clock input properties
> dt-bindings: serial: fsl-linflexuart: add dma properties
> serial: linflexuart: Add support for changing baudrate
> serial: linflexuart: Avoid stopping DMA during receive operations
>
> .../bindings/serial/fsl,s32-linflexuart.yaml | 31 +
> drivers/tty/serial/fsl_linflexuart.c | 972 +++++++++++++++---
> 2 files changed, 846 insertions(+), 157 deletions(-)
>
> --
> 2.47.0
>