NCR53C815 vs Tulip: sharing IRQ fails

Donald Becker becker@cesdis1.gsfc.nasa.gov
Mon Mar 22 20:56:28 1999


On Mon, 22 Mar 1999, B. James Phillippe wrote:

> > Just to clarify, since some readers might be confused:
> >     ****  Using SA_INTERRUPT is broken.  ***
> > 
> > It's semantically incompatible with sharing an interrupt line.
> > It was never intended to be used in the way that the SCSI drivers use it.
> 
> At least one reader is still confused. :/  My understanding of the
> interrupt flags is as follows:
> 
> For 2.0 kernels:
> 
>   SA_SHIRQ indicates capability of sharing interrupt with another driver.
>   SA_INTERRUPT indicates use of a "fast" handler (as opposed to "slow").
..
>   Fast and slow handlers only differ in that fast handlers run atomically
>   WRT all new interrupts; bh servicing and register saving is done for
>   both.
..
> If this understanding is correct, in what way is SA_INTERRUPT or usage of
> it is broken?

"Fast" interrupt assert that they will only do limited, trivial work in
their interrupt handler.  This was designed specifically for unbuffered
serial ports.

You cannot combine multiple "fast" interrupt handlers and still have a fast
interrupt handler.

[[ "My interrupt handler is so important it doesn't matter if the clock
misses a tick or two." ]]

Donald Becker					  becker@cesdis.gsfc.nasa.gov
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center,  Greenbelt, MD.  20771
301-286-0882	     http://cesdis.gsfc.nasa.gov/people/becker/whoiam.html