atom feed5 messages in org.freebsd.freebsd-isdnRe: patch for layer1/i4b_isic.c (sile...
FromSent OnAttachments
Andreas KlemmJan 2, 1999 5:12 am 
Martin HusemannJan 2, 1999 7:42 am 
Ignatios SouvatzisJan 2, 1999 9:15 am 
Martin HusemannJan 2, 1999 1:42 pm 
Ignatios SouvatzisJan 2, 1999 2:06 pm 
Subject:Re: patch for layer1/i4b_isic.c (silence noisy debug message)
From:Ignatios Souvatzis (is@jocelyn.rhein.de)
Date:Jan 2, 1999 9:15:58 am
List:org.freebsd.freebsd-isdn

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

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