Re: XScale 8250 patches cause malfunction on AMD-8111

From: Petr Vandrovec
Date: Mon Mar 07 2005 - 15:29:07 EST


On Mon, Mar 07, 2005 at 06:45:06PM +0100, Petr Vandrovec wrote:
> Hi,
> I've just booted my new kernel, and I've noticed that my UARTs are now recognized
> as XScale and not 16550A, and I could watch characters from parport0 line coming out
> on monitor one after another, with 0.5 second spaces between them.
>
> I'll try to dig up what bit 6 in IER does on this chip, but it seems like that it is
> enabling some thing we do not want to have enabled... One thing which might make difference
> is that I'm using serial console - but it worked without glitch before this change.

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.
Thanks,
Petr Vandrovec


--- 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);

-
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/