Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 855ddcab authored by Ben Dooks's avatar Ben Dooks Committed by Greg Kroah-Hartman
Browse files

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: default avatarBen Dooks <ben.dooks@codethink.co.uk>
Reported-by: default avatarEdward Cragg <ed.cragg@codethink.co.uk>
Tested-by: default avatarCarlo Caione <carlo@endlessm.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 41788f05
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);