*BSD News Article 29351


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!yoyo.aarnet.edu.au!news.adelaide.edu.au!news.cs.su.oz.au!metro!ultima!kralizec.zeta.org.au!not-for-mail
From: bde@kralizec.zeta.org.au (Bruce Evans)
Newsgroups: comp.os.386bsd.questions
Subject: Re: 8 16550 ports possible on FreeBSD 1.0 or 1.1?
Date: 7 Apr 1994 17:56:42 +1000
Organization: Kralizec Dialup Unix Sydney - +61-2-837-1183, v.32bis v.42bis
Lines: 20
Message-ID: <2o0ebq$kpb@kralizec.zeta.org.au>
References: <Cn6nFx.280@du.edu> <CnpGrF.15B@luva.stgt.sub.org> <2nsipi$9lr@mojo.eng.umd.edu>
NNTP-Posting-Host: kralizec.zeta.org.au

>Actually, 16550 UARTS are a *lot* faster, although they stink for
>mouse use.  Does the sio code read the on chip FIFOs?

Actually, they are normally limited by the serial board's Xtal to the same
speed (115200 bps) as 8250 and 16450 UARTs, and sio has no trouble handling
this speed, at least for less than 8 active ports.  16550's have less
overheads; this sometimes translates to a faster speed.  sio sets up the
FIFOs with the maximum trigger level to minimise the overheads at the cost
of increasing interrupt latency.  You might need to use the FIFO_TRIGGER
option to reduce the latency for 8 ports.  Many operating systems have
abysmal interrupt latency from other parts of the system and need to set
the minimum trigger level for the serial ports to work even at low speeds
like 19200.  They get almost no benefits from the receiver FIFOs.

sio used to always use the FIFOs if they exist.  This is fixed in 1.1-BETA.
You need to set flag 0x02 in the config for mouse ports.  Also, mouse
ports should have a slow speed (1200 bps) so that sio's software FIFOs
don't cause the same problems as the h/w FIFOs.
-- 
Bruce Evans  bde@kralizec.zeta.org.au