Re: XScale 8250 patches cause malfunction on AMD-8111

From: Russell King
Date: Mon Mar 07 2005 - 16:54:14 EST


On Mon, Mar 07, 2005 at 08:56:54PM +0100, Petr Vandrovec wrote:
> Well, problem is not in bit 6 in IER, but in bit 6 in high divisor byte,
> as DLAB is set to one from previous probe. This simple clear of LCR
> register fixes problem with (probably all 16550A) chips being detected
> as XScale, and in addition to it it does not switch my 115200Bd serial
> line to 7Bd mode (0x4001 divisor) anymore.

Good catch, thanks. I'd preferably like to see Chris Wedgwood test this
before applying it - I'm sure it'll fix his problem as well, but I'd
like to be sure.

--- linux-2.6.11-c1994.dist/drivers/serial/8250.c 2005-03-07 17:22:21.000000000 +0100
+++ linux-2.6.11-c1994/drivers/serial/8250.c 2005-03-07 20:42:53.000000000 +0100
@@ -729,6 +729,7 @@
serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO | UART_FCR7_64BYTE);
status2 = serial_in(up, UART_IIR) >> 5;
serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO);
+ serial_outp(up, UART_LCR, 0);

DEBUG_AUTOCONF("iir1=%d iir2=%d ", status1, status2);


--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/