Date: Sat, 23 Dec 1995 11:03:20 +0100 (MET) From: Micha Class <michael.class@zdv.uni-tuebingen.de> To: freebsd-hackers@freefall.freebsd.org Subject: fbsd-current stability / sio-problem Message-ID: <ML-2.0.819713000.7590.zrncl01@pc-micha.zdv.uni-tuebingen.de>
next in thread | raw e-mail | index | archive | help
Hi Hackers,
after all this discussion about stability of -current, I do have
a real "Show-Stopper" here:
Teh recent changes in sio.c that add support for some chips called
16650 make my ppp-access hanging. The problem is that my 16550-chips
are detected as 16650, and the fifo-size ist set wrongly to 32 instead
of 16 chars.
The detection code looks like this:
/*
* Check for the Startech ST16C650 chip.
* it has a shadow register under the com_iir,
* which can only be accessed when cfcr == 0xff
*/
{
u_char i, j;
i = inb(iobase + com_iir);
printf(" i: %0x,",i);
outb(iobase + com_cfcr, 0xff);
outb(iobase + com_iir, 0x0);
outb(iobase + com_cfcr, CFCR_8BITS);
j = inb(iobase + com_iir);
printf(" j: %0x,",j);
outb(iobase + com_iir, i);
if (i != j) {
printf(" 16550A");
} else {
com->tx_fifo_size = 32;
printf(" 16650");
...
The added printfs show 0xC1 for i and j on booting!
I do have no infos about the 16650-chip, but this detection-code gets
me into real trouble! (Btw. if I change the "com->tx_fifo_size = 32"
to "com->tx_fifo_size = 16" everything works fine, that should be the
prove that only the fifo-size is the Problem.)
Micha
-------------------------------------------------------------------------
michael class, hauptstr. 83, 72127 wankheim, frg
E-Mail: michael.class@zdv.uni-tuebingen.de
Phone: +49 7071 29-7539 (work) +49 7071 38365 (private)
-------------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ML-2.0.819713000.7590.zrncl01>
