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: Ben Dooks <ben.dooks@codethink.co.uk> Reported-by: Edward Cragg <ed.cragg@codethink.co.uk> Tested-by: Carlo Caione <carlo@endlessm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
41788f0549
commit
855ddcab35
|
@ -110,7 +110,7 @@ static void meson_uart_stop_tx(struct uart_port *port)
|
|||
u32 val;
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -133,7 +133,7 @@ static void meson_uart_shutdown(struct uart_port *port)
|
|||
spin_lock_irqsave(&port->lock, flags);
|
||||
|
||||
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);
|
||||
writel(val, port->membase + AML_UART_CONTROL);
|
||||
|
||||
|
|
Loading…
Reference in New Issue