| From e1bfdbc7daca171c74a577b3dd0b36d76bb0ffcc Mon Sep 17 00:00:00 2001 |
| From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> |
| Date: Wed, 27 Apr 2022 15:23:28 +0200 |
| Subject: serial: 8250_mtk: Fix register address for XON/XOFF character |
| |
| From: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> |
| |
| commit e1bfdbc7daca171c74a577b3dd0b36d76bb0ffcc upstream. |
| |
| The XON1/XOFF1 character registers are at offset 0xa0 and 0xa8 |
| respectively, so we cannot use the definition in serial_port.h. |
| |
| Fixes: bdbd0a7f8f03 ("serial: 8250-mtk: modify baudrate setting") |
| Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> |
| Cc: stable <stable@vger.kernel.org> |
| Link: https://lore.kernel.org/r/20220427132328.228297-4-angelogioacchino.delregno@collabora.com |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/tty/serial/8250/8250_mtk.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/tty/serial/8250/8250_mtk.c |
| +++ b/drivers/tty/serial/8250/8250_mtk.c |
| @@ -54,6 +54,9 @@ |
| #define MTK_UART_TX_TRIGGER 1 |
| #define MTK_UART_RX_TRIGGER MTK_UART_RX_SIZE |
| |
| +#define MTK_UART_XON1 40 /* I/O: Xon character 1 */ |
| +#define MTK_UART_XOFF1 42 /* I/O: Xoff character 1 */ |
| + |
| #ifdef CONFIG_SERIAL_8250_DMA |
| enum dma_rx_status { |
| DMA_RX_START = 0, |
| @@ -275,8 +278,8 @@ static void mtk8250_set_flow_ctrl(struct |
| (serial_in(up, MTK_UART_EFR) & |
| (~(MTK_UART_EFR_HW_FC | MTK_UART_EFR_SW_FC_MASK)))); |
| |
| - serial_out(up, UART_XON1, START_CHAR(port->state->port.tty)); |
| - serial_out(up, UART_XOFF1, STOP_CHAR(port->state->port.tty)); |
| + serial_out(up, MTK_UART_XON1, START_CHAR(port->state->port.tty)); |
| + serial_out(up, MTK_UART_XOFF1, STOP_CHAR(port->state->port.tty)); |
| serial_out(up, UART_LCR, lcr); |
| mtk8250_disable_intrs(up, MTK_UART_IER_CTSI|MTK_UART_IER_RTSI); |
| mtk8250_enable_intrs(up, MTK_UART_IER_XOFFI); |