1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-15 10:17:20 +00:00

Patch from Brian Smith (modified a little by me) to allow kernel config

file override to disable fifo on 16550s:

I bought a board with two 16550's, but one of those ports has a mouse
on it.  The sio driver always enables the fifo, which is a bad thing
for mice and X.  The mouse is jerky and hard to use.  The simple thing
is be to treat one of the ports as a non-fifo'ed UART, and I use the
flags option in my config file.

So, my config file has:
device      sio0    at isa? port "IO_COM1" tty irq 4 flags 0x2 vector siointr
device      sio1    at isa? port "IO_COM2" tty irq 3 vector siointr

(patch deleted)
This commit is contained in:
David Greenman 1994-01-31 06:12:18 +00:00
parent 43411a3db4
commit d6eb591433
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=1047
3 changed files with 21 additions and 6 deletions

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
* $Id: sio.c,v 1.21 1994/01/02 10:17:29 ache Exp $
* $Id: sio.c,v 1.22 1994/01/11 18:31:45 ache Exp $
*/
#include "sio.h"
@ -83,6 +83,7 @@
#define COM_ISMULTIPORT(dev) ((dev)->id_flags & 0x01)
#define COM_MPMASTER(dev) (((dev)->id_flags >> 8) & 0x0ff)
#endif /* COM_MULTIPORT */
#define COM_NOFIFO(dev) ((dev)->id_flags & 0x02)
#ifndef FIFO_TRIGGER
/*
@ -475,8 +476,12 @@ sioattach(isdp)
printf(" 16550?");
break;
case FIFO_TRIGGER_14:
com->hasfifo = TRUE;
printf(" 16550A");
if (COM_NOFIFO(isdp)) {
printf(" fifo software disabled");
} else {
com->hasfifo = TRUE;
}
break;
}
outb(iobase + com_fifo, 0);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
* $Id: sio.c,v 1.21 1994/01/02 10:17:29 ache Exp $
* $Id: sio.c,v 1.22 1994/01/11 18:31:45 ache Exp $
*/
#include "sio.h"
@ -83,6 +83,7 @@
#define COM_ISMULTIPORT(dev) ((dev)->id_flags & 0x01)
#define COM_MPMASTER(dev) (((dev)->id_flags >> 8) & 0x0ff)
#endif /* COM_MULTIPORT */
#define COM_NOFIFO(dev) ((dev)->id_flags & 0x02)
#ifndef FIFO_TRIGGER
/*
@ -475,8 +476,12 @@ sioattach(isdp)
printf(" 16550?");
break;
case FIFO_TRIGGER_14:
com->hasfifo = TRUE;
printf(" 16550A");
if (COM_NOFIFO(isdp)) {
printf(" fifo software disabled");
} else {
com->hasfifo = TRUE;
}
break;
}
outb(iobase + com_fifo, 0);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* from: @(#)com.c 7.5 (Berkeley) 5/16/91
* $Id: sio.c,v 1.21 1994/01/02 10:17:29 ache Exp $
* $Id: sio.c,v 1.22 1994/01/11 18:31:45 ache Exp $
*/
#include "sio.h"
@ -83,6 +83,7 @@
#define COM_ISMULTIPORT(dev) ((dev)->id_flags & 0x01)
#define COM_MPMASTER(dev) (((dev)->id_flags >> 8) & 0x0ff)
#endif /* COM_MULTIPORT */
#define COM_NOFIFO(dev) ((dev)->id_flags & 0x02)
#ifndef FIFO_TRIGGER
/*
@ -475,8 +476,12 @@ sioattach(isdp)
printf(" 16550?");
break;
case FIFO_TRIGGER_14:
com->hasfifo = TRUE;
printf(" 16550A");
if (COM_NOFIFO(isdp)) {
printf(" fifo software disabled");
} else {
com->hasfifo = TRUE;
}
break;
}
outb(iobase + com_fifo, 0);