Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 May 1997 14:07:33 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Stefan Esser <se@freebsd.org>
Cc:        "Justin T. Gibbs" <gibbs@plutotech.com>, Bruce Evans <bde@zeta.org.au>, current@freebsd.org, gurney_j@resnet.uoregon.edu
Subject:   Re: cvs commit: src/sys/sys interrupt.h src/sys/kern kern_intr.c
Message-ID:  <Pine.BSF.3.95q.970528140546.349J-100000@herring.nlsystems.com>
In-Reply-To: <19970528143223.25591@x14.mi.uni-koeln.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 28 May 1997, Stefan Esser wrote:

> On May 27, "Justin T. Gibbs" <gibbs@plutotech.com> wrote:
> > >But the original question was, whether the new shared interrupt 
> > >support might be applicable to ISA drivers, and the consent seems
> > >to be, that it isn't for the reason you give below:
> > 
> > I think that we should support it since I can see it being used not
> > only in the sio driver but for other multi-function devices like
> > sound cards.  Having a separate driver for each function on a card is
> > much cleaner than a single monolithic driver and since it seems
> > easy to add the ability to handle this case (set a flag in the descriptor
> > that says "run me again please"), why not do it?
> 
> Yes, we could do that. This would require that the drivers 
> keep a pointer to the interrupt descriptors for each "unit".
> 
> We need to modify struct isa_device to hold the pointer, and
> have to define another flag bit passed to intr_create() for 
> the shared edge-trggered case. Whenever an ISA handler is 
> linked into the chain, a multiplex handler that tests some
> bit in the interrupt descriptor for a "needed service" flag.
> 
> This would not slow down the shared level-triggered case,
> since thge current simple multiplexer loop could be kept.

If we do this, can the interrupt descriptor fiddling happen through a
function call?  I don't want drivers to know what is inside this
structure.  In fact I would be happiest if intrec wasn't declared in a
public header file at all but was private to kern_intr.c

--
Doug Rabson				Mail:  dfr@nlsystems.com
Nonlinear Systems Ltd.			Phone: +44 181 951 1891
					Fax:   +44 181 381 1039




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95q.970528140546.349J-100000>