Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Jan 1999 18:16:20 +0100
From:      Ignatios Souvatzis <is@jocelyn.rhein.de>
To:        Martin Husemann <martin@rumolt.teuto.de>, Andreas Klemm <andreas@klemm.gtn.com>
Cc:        freebsd-isdn@FreeBSD.ORG, hm@hcs.de
Subject:   Re: patch for layer1/i4b_isic.c (silence noisy debug message)
Message-ID:  <19990102181620.A2581@cosinus.cs.uni-bonn.de>
In-Reply-To: <199901021542.QAA02604@rumolt.teuto.de>; from Martin Husemann on Sat, Jan 02, 1999 at 04:42:57PM %2B0100
References:  <19990102141228.A34101@klemm.gtn.com> <199901021542.QAA02604@rumolt.teuto.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 02, 1999 at 04:42:57PM +0100, Martin Husemann wrote:
> This is supposed to happen:
>  - on the Amiga (shared ISA interrupts)
	ZBUS, not ISA. 
>  - on PCI cards (level triggered interrupts might be shared)
>  - on PCMCIA cards (all cards on one pcmcia controller share an interrupt)
> 
> It should never happen:
>  - on ISA or ISAPNP cards on the i386
> 
> There realy are two problems mixed here, and the right solution is to extend
> the struct isic_softc by a new flag: interrupt might be shared. If this flag
> is set by the bus-specific attachment code the interrupt handler should not
> complain but return 0 (interrupt not for me).
> 
> If this flag is set and the interrupt was from this card we should also play
> the "mask all interrupts and reenable them" game, if the cards driver does
> not provide a special "clrirq" routine.

Uhm.... for the Amiga there was no fiddling needed, if I recall right.
I suggest to separate the functions

- "private interupt" flag enabling that debug message
- "clear interupt" routine, which might be NULL meaning "dont call it".
[or maybe make it mandatory, and provide a null function... considering 
that we won't see any VAX port (with the hight-overhead calls) soon, maybe
this is faster?)]

On i386 ISA, set "private interupt" to "1" and "clear interupt" to 0.
For shared interupt cards that nead explicit clearing, put a function
there that does the right thing.

The board-specific attach function probably knows best what to do.

	Ignatios
-- 
 * Progress (n.): The process through which Usenet has evolved from
   smart people in front of dumb terminals to dumb people in front of
   smart terminals.  -- obs@burnout.demon.co.uk (obscurity)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isdn" in the body of the message



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