Subject: Re: Trouble with CyberPro PCI 2S dual serial card
To: None <jfw@jfwhome.funhouse.com>
From: List Mail User <track@Plectere.com>
List: port-i386
Date: 12/28/2004 14:51:34
jfw@jfwhome.funhouse.com wrote at Tue Dec 28 13:24:51 2004,
...
>
>Now to figure out how to add 16C950 mode so I can take advantage of those
>huge FIFOs.  (And to figure out why my gigabit PHY now fails to probe if
>the ethernet is plugged in, but that isn't the fault of the serial card...)

	Using the large FIFOs is trivial, actually detecting then properly
is the difficulty.  You could just change your local copy of "/sys/dev/com.c"
to set "sc->sc_fifolen" to 128 for your particular unit locators (near line
532 in -current sources - i.e. com.c 1.231).  This was my first attempt and
it worked just fine (though as I said before, I didn't notice any performance
gain with the devices I have attached to '850s and '950s, but a user using ppp
probably would see a reasonable reduction in interrupts and interrupt overhead
during medium to large transfers).  Note: it is probably necessary to add a
some sort of new `flag' and adjust the trigger levels also (the mechanism, of
course differs between '[789]50s) - Leaving it at 8 may have been why I saw no
improvement.  You probably, want something like the:

	((FIFO size - some constant - to account for interrupt service latency)
times (the effective baud rate / the maximum baud rate)) plus one (a minimum
value for sanity, with the previously mentioned "latency" constant accounting
for this).

The current 1 or 8 is sufficient for '550s only really.  This could easily be
overkill though; I was responsible for IRIX adjusting pointer motion in X to
fit a cubic equation (possibly unstable - user definable parameters, though
I never knew anyone including the other developers to change the defaults I
assigned); Small movements seemed linear, larger movements were "accelerated"
but only up to the second knee in the cubic - i.e. a flattened 'S' curve and
of course, partial pixel motion was accumulated/saved for the next motion
calculation.

	Bye,

	Paul Shupak
	track@plectere.com