tty: amba-pl011: add helper to detect split LCRH register

Add a helper to detect the split LCRH register found on ST variants.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reviewed-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Russell King 2015-11-03 14:51:08 +00:00 committed by Greg Kroah-Hartman
parent b2a4e24c2e
commit 7fe9a5a9d9

View File

@ -1576,10 +1576,15 @@ static int pl011_hwinit(struct uart_port *port)
return 0;
}
static bool pl011_split_lcrh(const struct uart_amba_port *uap)
{
return uap->lcrh_rx != uap->lcrh_tx;
}
static void pl011_write_lcr_h(struct uart_amba_port *uap, unsigned int lcr_h)
{
pl011_write(lcr_h, uap, uap->lcrh_rx);
if (uap->lcrh_rx != uap->lcrh_tx) {
if (pl011_split_lcrh(uap)) {
int i;
/*
* Wait 10 PCLKs before writing LCRH_TX register,
@ -1713,7 +1718,7 @@ static void pl011_disable_uart(struct uart_amba_port *uap)
* disable break condition and fifos
*/
pl011_shutdown_channel(uap, uap->lcrh_rx);
if (uap->lcrh_rx != uap->lcrh_tx)
if (pl011_split_lcrh(uap))
pl011_shutdown_channel(uap, uap->lcrh_tx);
}