Skip site navigation (1)Skip section navigation (2)
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>