From owner-freebsd-hackers Wed Mar 4 15:17:50 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA16862 for freebsd-hackers-outgoing; Wed, 4 Mar 1998 15:17:50 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from smtp01.primenet.com (smtp01.primenet.com [206.165.6.131]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA16844 for ; Wed, 4 Mar 1998 15:17:45 -0800 (PST) (envelope-from tlambert@usr01.primenet.com) Received: (from daemon@localhost) by smtp01.primenet.com (8.8.8/8.8.8) id QAA16337; Wed, 4 Mar 1998 16:17:37 -0700 (MST) Received: from usr01.primenet.com(206.165.6.201) via SMTP by smtp01.primenet.com, id smtpd016306; Wed Mar 4 16:17:30 1998 Received: (from tlambert@localhost) by usr01.primenet.com (8.8.5/8.8.5) id QAA18065; Wed, 4 Mar 1998 16:17:28 -0700 (MST) From: Terry Lambert Message-Id: <199803042317.QAA18065@usr01.primenet.com> Subject: Re: Interrupts during probe/attach? To: lile@stdio.com (Larry S. Lile) Date: Wed, 4 Mar 1998 23:17:28 +0000 (GMT) Cc: hackers@FreeBSD.ORG In-Reply-To: from "Larry S. Lile" at Mar 4, 98 09:50:29 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > Is it possible to receive an interrupt from an adapter during > probe/attach routines? I am working on a token ring driver and > in order to initialize the card you have to latch/release/enable > interrupts and wait... then the card will interrupt when it has > finished. The problem is I can't seem to process an interrupt > until all the other probe/attach routines finish. I have > tried changing the spl level around my DELAY() but no interrupt. > > So are interrupts masked until later? or is DELAY() not > interruptable? or am I doing something wrong? Look at the ethernet driver for the LANCE chipset, since it has the same probe requirements (you must poke it and it must say "ouch". Look specifically at one of the many lance drivers we have (any number larger than "1" is "many" in driver space). if_le.c and if_lnc.c in /sys/i386/isa, specifically. > I can just poll the interrupt status register on the card if > interrupts are masked during probe/attach but I just want to > know if i'm doing something stupid. Hmm. If you could do this with the LANCE as well, it would be worth masking things... I think what happense now is you tenatively register an interrupt handler before you poke it... Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message