Revert "uart: pl011: Improve LCRH register access decision"

This reverts commit 09dcc7dfc0 as with
this patch the serial console is broken on lots of platforms.

Reported-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jun Nie <jun.nie@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Tested-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2015-09-04 09:12:03 -07:00
parent 062a68a5e0
commit 8e50254a6a

View file

@ -249,11 +249,6 @@ struct uart_amba_port {
#endif
};
static bool is_implemented(struct uart_amba_port *uap, unsigned int reg)
{
return uap->reg_lut[reg] != (u16)~0;
}
static unsigned int pl011_readw(struct uart_amba_port *uap, int index)
{
WARN_ON(index > REG_NR);
@ -1654,7 +1649,7 @@ static int pl011_hwinit(struct uart_port *port)
static void pl011_write_lcr_h(struct uart_amba_port *uap, unsigned int lcr_h)
{
pl011_writew(uap, lcr_h, uap->lcrh_rx);
if (is_implemented(uap, REG_ST_LCRH_RX)) {
if (uap->lcrh_rx != uap->lcrh_tx) {
int i;
/*
* Wait 10 PCLKs before writing LCRH_TX register,
@ -1789,7 +1784,7 @@ static void pl011_disable_uart(struct uart_amba_port *uap)
* disable break condition and fifos
*/
pl011_shutdown_channel(uap, uap->lcrh_rx);
if (is_implemented(uap, REG_ST_LCRH_RX))
if (uap->lcrh_rx != uap->lcrh_tx)
pl011_shutdown_channel(uap, uap->lcrh_tx);
}