Subject: Re: more zs stuff...
To: Joachim Thiemann <joachim@colba.net>
From: Jeremy Cooper <jeremy@broder.com>
List: port-sparc
Date: 04/29/1997 15:58:19
On Tue, 29 Apr 1997, Joachim Thiemann wrote:

> > From: "Graham, James" <James.Graham@Schwab.COM>
>
> > Secondly, does anyone know of any adverse effects of increasing the
> > ringsize?
> 
> I am running -current on a SS1+, and have the same problem...
> I increased my ringsize to 8192, and while I haven't seen any bad
> effects, it hasn't helped much, either - I am connecting to my ISP
> only at 9600 and I get fifo overruns if the machine load gets above

FIFO overruns happen when the CPU does not empty the small two or three
character buffer in the ZS chip in time.  It's usually a question of
interrupt latency and not the size of the software buffers, which are used
to store the characters AFTER they have been read from the chip.

> Also, a question: is the sparc code using sys/dev/ic/zs8530* ? Or
> isn't that the same chip? What is the difference?

To save space on what would ordinarily be a lot of duplicated code among
all the NetBSD ports, the ZS driver (and many other drivers in NetBSD) is
split into a machine independent part which does most of the work and can
be shared among different architectures, and a machine dependent part
which deals with interfacing this code with the system bus and interrupt
scheme of a particular machine.

The code in sys/arch/sparc/dev/zs.c is the machine dependent part, which
calls quite a few functions in sys/dev/ic/zs8530.c - the machine
independent section.  This same independent section is shared by the sun3
and other ports which might have cards or built-in devices based on the
Zilog 8530 chip.

-J