Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jul 1997 13:26:13 +0930 (CST)
From:      Michael Smith <msmith@atrad.adelaide.edu.au>
To:        freebsd@atipa.com (FreeBSD Development)
Cc:        mouth@ibm.net, hackers@FreeBSD.ORG, terry@lambert.org
Subject:   Re: Sharing interrupts
Message-ID:  <199707290356.NAA10082@genesis.atrad.adelaide.edu.au>
In-Reply-To: <Pine.BSF.3.91.970728211925.25478B-100000@dot.ishiboo.com> from FreeBSD Development at "Jul 28, 97 09:23:24 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
FreeBSD Development stands accused of saying:
> > On Mon, 28 Jul 1997 10:38:32 -0700 (MST), Terry Lambert  wrote:
> > 
> > > You can not share interrupts with ISA cards.  Period.
> > 
> You can share interrupts, but not use both SIMULTANEOUSLY. A very good 
> example would be to have LPT1: and a sound card on IRQ7 (both ISA). As 
> long as they have unique base addresses (0x378h and 0x220 for instance), 
> both devices can coexist. You just can't use them at the same time 
> without conflicting. Sharing IRQs is definitely not recommend, but I believe 
> your statement may require a bit more qualifying.

More specifically, you can only allow _one_ device to drive an ISA
IRQ line at any given time.  

ISA bus drivers use totem-pole outputs, so a device which has control
of an interrupt line but not asserting an interrupt still counts as
"driving".  You can _only_ "share" interrupt lines by disabling drive of
the line on one device before enabling it on another, or by using 
nonstandard ISA bus drivers (normally found only on cards specifically
designed for this, eg. the AST 4-port serial adapter).

See the comments and procedure in sioprobe() in i286/isa/sio.c and
cross-reference the 8250 datasheet for an understanding of the quirks
and complexities involved in getting this right.  It is _not_ trivial.

Far simpler to stick to "YOU CANNOT SHARE ISA INTERRUPTS BETWEEN CARDS".

> Kevin

-- 
]] Mike Smith, Software Engineer        msmith@gsoft.com.au             [[
]] Genesis Software                     genesis@gsoft.com.au            [[
]] High-speed data acquisition and      (GSM mobile)     0411-222-496   [[
]] realtime instrument control.         (ph)          +61-8-8267-3493   [[
]] Unix hardware collector.             "Where are your PEZ?" The Tick  [[



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707290356.NAA10082>