diff options
author | 2001-09-29 07:14:35 +0000 | |
---|---|---|
committer | 2001-09-29 07:14:35 +0000 | |
commit | 44766c599feee8ded45db450e95260f012e7bd55 (patch) | |
tree | c69d8d9d5581fa7e247931f83fa14ddbc88b413e | |
parent | Pretty the printout (don't know if it's right, but it does the job). (diff) | |
download | wireguard-openbsd-44766c599feee8ded45db450e95260f012e7bd55.tar.xz wireguard-openbsd-44766c599feee8ded45db450e95260f012e7bd55.zip |
dec_kn20aa_intr_disestablish() implementation from netbsd; art@ ok
-rw-r--r-- | sys/arch/alpha/pci/pci_kn20aa.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sys/arch/alpha/pci/pci_kn20aa.c b/sys/arch/alpha/pci/pci_kn20aa.c index 3a3f2531f9a..2d40214955c 100644 --- a/sys/arch/alpha/pci/pci_kn20aa.c +++ b/sys/arch/alpha/pci/pci_kn20aa.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_kn20aa.c,v 1.13 2001/08/17 22:26:58 mickey Exp $ */ +/* $OpenBSD: pci_kn20aa.c,v 1.14 2001/09/29 07:14:35 mickey Exp $ */ /* $NetBSD: pci_kn20aa.c,v 1.21 1996/11/17 02:05:27 cgd Exp $ */ /* @@ -226,7 +226,21 @@ void dec_kn20aa_intr_disestablish(ccv, cookie) void *ccv, *cookie; { - panic("dec_kn20aa_intr_disestablish not implemented"); /* XXX */ + struct alpha_shared_intrhand *ih = cookie; + unsigned int irq = ih->ih_num; + int s; + + s = splhigh(); + + alpha_shared_intr_disestablish(kn20aa_pci_intr, cookie, + "kn20aa irq"); + if (alpha_shared_intr_isactive(kn20aa_pci_intr, irq) == 0) { + kn20aa_disable_intr(irq); + alpha_shared_intr_set_dfltsharetype(kn20aa_pci_intr, irq, + IST_NONE); + /* scb_free(0x900 + SCB_IDXTOVEC(irq)); */ + } + splx(s); } void |