提交 855ddcab 编写于 作者: B Ben Dooks 提交者: Greg Kroah-Hartman

ARM: meson: serial: only disable tx irq on stop

Since disabling the transmit state machine still allows characters to
be transmitted when written to the UART write FIFO, simply disable the
transmit interrupt when the UART port is stopped.

This has not shown an improvement with the console issues when running
systemd, but seems like it should be done.
Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
Reported-by: NEdward Cragg <ed.cragg@codethink.co.uk>
Tested-by: NCarlo Caione <carlo@endlessm.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 41788f05
...@@ -110,7 +110,7 @@ static void meson_uart_stop_tx(struct uart_port *port) ...@@ -110,7 +110,7 @@ static void meson_uart_stop_tx(struct uart_port *port)
u32 val; u32 val;
val = readl(port->membase + AML_UART_CONTROL); val = readl(port->membase + AML_UART_CONTROL);
val &= ~AML_UART_TX_EN; val &= ~AML_UART_TX_INT_EN;
writel(val, port->membase + AML_UART_CONTROL); writel(val, port->membase + AML_UART_CONTROL);
} }
...@@ -133,7 +133,7 @@ static void meson_uart_shutdown(struct uart_port *port) ...@@ -133,7 +133,7 @@ static void meson_uart_shutdown(struct uart_port *port)
spin_lock_irqsave(&port->lock, flags); spin_lock_irqsave(&port->lock, flags);
val = readl(port->membase + AML_UART_CONTROL); val = readl(port->membase + AML_UART_CONTROL);
val &= ~(AML_UART_RX_EN | AML_UART_TX_EN); val &= ~AML_UART_RX_EN;
val &= ~(AML_UART_RX_INT_EN | AML_UART_TX_INT_EN); val &= ~(AML_UART_RX_INT_EN | AML_UART_TX_INT_EN);
writel(val, port->membase + AML_UART_CONTROL); writel(val, port->membase + AML_UART_CONTROL);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册