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:
parent
43411a3db4
commit
d6eb591433
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=1047
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user