summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/pci
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2008-08-09 16:41:22 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2008-08-09 16:41:22 +0000
commit11754e7098bbd7d4f9264fad171e37e92967d7b1 (patch)
treea97f7612388464ad7ac51e01457a2adbafa5ed9f /sys/arch/alpha/pci
parentda26f8064b57a0506f9f6dca9b1191e6be262262 (diff)
Do not forget to set the ``specific EOI'' bit when sending a... specific EOI;
from NetBSD.
Diffstat (limited to 'sys/arch/alpha/pci')
-rw-r--r--sys/arch/alpha/pci/sio_pic.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/arch/alpha/pci/sio_pic.c b/sys/arch/alpha/pci/sio_pic.c
index 6358b458bb4..52ca5489e65 100644
--- a/sys/arch/alpha/pci/sio_pic.c
+++ b/sys/arch/alpha/pci/sio_pic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sio_pic.c,v 1.28 2008/07/29 18:39:45 miod Exp $ */
+/* $OpenBSD: sio_pic.c,v 1.29 2008/08/09 16:41:21 miod Exp $ */
/* $NetBSD: sio_pic.c,v 1.28 2000/06/06 03:10:13 thorpej Exp $ */
/*-
@@ -625,8 +625,10 @@ static void
specific_eoi(irq)
int irq;
{
- if (irq > 7)
+ if (irq > 7) {
bus_space_write_1(sio_iot,
- sio_ioh_icu2, 0, 0x20 | (irq & 0x07)); /* XXX */
- bus_space_write_1(sio_iot, sio_ioh_icu1, 0, 0x20 | (irq > 7 ? 2 : irq));
+ sio_ioh_icu2, 0, 0x60 | (irq & 0x07)); /* XXX */
+ irq = 2;
+ }
+ bus_space_write_1(sio_iot, sio_ioh_icu1, 0, 0x60 | irq);
}