|
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 |
|