Date: Wed, 28 May 1997 14:32:23 +0200 From: Stefan Esser <se@FreeBSD.ORG> To: "Justin T. Gibbs" <gibbs@plutotech.com> Cc: 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: <19970528143223.25591@x14.mi.uni-koeln.de> In-Reply-To: <199705271911.NAA04925@pluto.plutotech.com>; from Justin T. Gibbs on Tue, May 27, 1997 at 02:09:00PM -0600 References: <19970527200740.32152@x14.mi.uni-koeln.de> <199705271911.NAA04925@pluto.plutotech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. Regards, STefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970528143223.25591>