Jiri Slaby ef7db2
From: Sherry Sun <sherry.sun@nxp.com>
Jiri Slaby ef7db2
Date: Mon, 30 Jan 2023 14:44:46 +0800
Jiri Slaby ef7db2
Subject: [PATCH] tty: serial: fsl_lpuart: Fix the wrong RXWATER setting for rx
Jiri Slaby ef7db2
 dma case
Jiri Slaby ef7db2
References: bsc#1012628
Jiri Slaby ef7db2
Patch-mainline: 6.2.3
Jiri Slaby ef7db2
Git-commit: 9ad9df8447547febe9dd09b040f4528a09e495f0
Jiri Slaby ef7db2
Jiri Slaby ef7db2
[ Upstream commit 9ad9df8447547febe9dd09b040f4528a09e495f0 ]
Jiri Slaby ef7db2
Jiri Slaby ef7db2
The RXWATER value must be greater than 0 according to the LPUART
Jiri Slaby ef7db2
reference manual. And when the number of datawords in the receive
Jiri Slaby ef7db2
FIFO is greater than RXWATER, an interrupt or a DMA request is
Jiri Slaby ef7db2
generated, so no need to set the different value for lpuart interrupt
Jiri Slaby ef7db2
case and dma case. Here delete the wrong RXWATER setting for dma case
Jiri Slaby ef7db2
directly.
Jiri Slaby ef7db2
Jiri Slaby ef7db2
Fixes: 42b68768e51b ("serial: fsl_lpuart: DMA support for 32-bit variant")
Jiri Slaby ef7db2
Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Jiri Slaby ef7db2
Link: https://lore.kernel.org/r/20230130064449.9564-4-sherry.sun@nxp.com
Jiri Slaby ef7db2
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Slaby ef7db2
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby ef7db2
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby ef7db2
---
Jiri Slaby ef7db2
 drivers/tty/serial/fsl_lpuart.c | 6 ------
Jiri Slaby ef7db2
 1 file changed, 6 deletions(-)
Jiri Slaby ef7db2
Jiri Slaby ef7db2
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
Jiri Slaby ef7db2
index 986ec832..f34fabdc 100644
Jiri Slaby ef7db2
--- a/drivers/tty/serial/fsl_lpuart.c
Jiri Slaby ef7db2
+++ b/drivers/tty/serial/fsl_lpuart.c
Jiri Slaby ef7db2
@@ -1683,12 +1683,6 @@ static void lpuart32_configure(struct lpuart_port *sport)
Jiri Slaby ef7db2
 {
Jiri Slaby ef7db2
 	unsigned long temp;
Jiri Slaby ef7db2
 
Jiri Slaby ef7db2
-	if (sport->lpuart_dma_rx_use) {
Jiri Slaby ef7db2
-		/* RXWATER must be 0 */
Jiri Slaby ef7db2
-		temp = lpuart32_read(&sport->port, UARTWATER);
Jiri Slaby ef7db2
-		temp &= ~(UARTWATER_WATER_MASK << UARTWATER_RXWATER_OFF);
Jiri Slaby ef7db2
-		lpuart32_write(&sport->port, temp, UARTWATER);
Jiri Slaby ef7db2
-	}
Jiri Slaby ef7db2
 	temp = lpuart32_read(&sport->port, UARTCTRL);
Jiri Slaby ef7db2
 	if (!sport->lpuart_dma_rx_use)
Jiri Slaby ef7db2
 		temp |= UARTCTRL_RIE;
Jiri Slaby ef7db2
-- 
Jiri Slaby ef7db2
2.35.3
Jiri Slaby ef7db2