Port-macppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: zs serial and interrupt sensitivity



>Hello all,
>
>I've never had particularly good luck with the built-in serial ports on my 
>9500, and my inability to use my ImageWriter II on one port with getty on the 
>other for a console was irritating me (getty would die constantly under normal 
>use prompting init to issue messages, and the other port would then wedge up 
>typically in the middle of a print job).
>
>I looked into the zs.c driver, and the one thing that stood out to me as wrong 
>was that the interrupts were being registered as edge sensitive.  My gut 
>feeling is that it should be level-sensitive; I'm not as familiar with the 
>8530 as I am with the 16550 (they're quite different beasts), but I've never 
>seen a serial port done as anything other than a level-sensitive interrupt 
>because that's a good way to lose characters (especially if one comes in while 
>you're servicing an interrupt).
>
>Switching the interrupts to level sensitive seems to have fixed my problems.  
>Can anyone think of a good reason this should be edge-sensitive?
>
>
>- Dave

I no longer use serial on my production machine (PPC), because although I
could make it work, serial ports were always either a tad flaky, or required
a custom kernel somewhere or other.  Maintaining the custom kernel was
only fun for the first little while.

I modified the Cyclades driver to "hammer" the interrupt register sometimes
when it missed interrupts, and tweaked "soft_intr" machinery to reduce
(though apparently not eliminate) the misses.

If you look in the archives for my name - Donald Lee and/or
"serial" and/or "Bummer - NetBSD 2.1 panic", and/or '"soft" interrupts busted 
on MacPPC', you will see discussions of this subject.

The difference in behavior between level and edge sensitive intr
may well explain some of the pain.

My serial threads go back at least to 2004.

-dgl-

P.S. I believe that the "lost interrupt" behavior may be relevant to ATA
errors and problems, and also to USB anomalies I have seen on the list.
This is purely speculation, though.



Home | Main Index | Thread Index | Old Index