Date: Sun, 27 Sep 1998 21:42:18 +0200 From: Tor.Egge@fast.no To: freebsd@magnet.geophysik.tu-freiberg.de Cc: freebsd-scsi@FreeBSD.ORG, freebsd-smp@FreeBSD.ORG Subject: Re: AHA 2742T+CAM+SMP problems 2nd. try #3 Message-ID: <199809271942.VAA01789@midten.fast.no> In-Reply-To: Your message of "Sun, 27 Sep 1998 13:14:06 %2B0200 (CEST)" References: <199809271114.NAA09487@magnet.geophysik.tu-freiberg.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> EISA INTCONTROL = 00000e00
Interrupts 10, 11 and 12 are level sensitive.
> ahc0: <Adaptec 274X SCSI host adapter> at 0x1c00-0x1cff irq 11 on eisa0 slot 1
> ahc0: Using Level Sensitive Interrupts
The scsi card generates an active low/level interrupt 11.
With an MP table that says
I/O Ints: Type Polarity Trigger Bus ID IRQ APIC ID PIN#
INT conforms conforms 0 11 2 11
this means that int pin 11 on the IOAPIC is currently programmed as
active high/edge trigger.
It should probably be programmed as active high/level trigger. I assume
you have the MP spec document.
If you configure your scsi card to use edge interrupts, you'll probably
avoid this problem.
Index: mpapic.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/mpapic.c,v
retrieving revision 1.32
diff -u -r1.32 mpapic.c
--- mpapic.c 1998/09/06 22:41:40 1.32
+++ mpapic.c 1998/09/27 18:39:04
@@ -303,12 +303,7 @@
printf("EISA INTCONTROL = %08x\n", intcontrol);
}
- /*
- * EISA IRQ's are identical to ISA irq's, regardless of
- * whether they are edge or level since they go through
- * the level/polarity converter gadget.
- */
- level = 0;
+ level = ((intcontrol >> eirq) & 1);
if (level)
*flags |= IOART_TRGRLVL;
@@ -378,7 +373,8 @@
* level/polarity converter gadget. */
if (level == 1) /* XXX Always false */
- pol = 0; /* if level, active low */
+ /* level => active high on IO APIC (low on EISA bus) */
+ pol = 1; /* if level, active high */
else
pol = 1; /* if edge, high edge */
- Tor Egge
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809271942.VAA01789>
