From 87ca48b6b84b511c043ccadd04e2c9896bc3749c Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Mon, 24 May 2004 15:51:46 +0000 Subject: [PATCH] Revert part of rev 1.230 and assume that all EISA IRQs use active high polarity rather than assuming that level triggered IRQs use active low and edge triggered IRQs use active high. Both the MultiProcessor 1.4 and ACPI 2.0 Specifications state in their examples that level triggered EISA IRQs are active low, but in practice they seem to be active high. Reported by: Nik Azim Azam nskyline_r35 at yahoo dot com --- sys/i386/i386/mptable.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index 37684d77ade..294e92f7586 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.c @@ -549,17 +549,10 @@ conforming_polarity(u_char src_bus, u_char src_bus_irq) KASSERT(src_bus <= mptable_maxbusid, ("bus id %d too large", src_bus)); switch (busses[src_bus].bus_type) { case ISA: + case EISA: return (INTR_POLARITY_HIGH); case PCI: return (INTR_POLARITY_LOW); -#ifndef PC98 - case EISA: - KASSERT(src_bus_irq < 16, ("Invalid EISA IRQ %d", src_bus_irq)); - if (elcr_read_trigger(src_bus_irq) == INTR_TRIGGER_LEVEL) - return (INTR_POLARITY_LOW); - else - return (INTR_POLARITY_HIGH); -#endif default: panic("%s: unknown bus type %d", __func__, busses[src_bus].bus_type);