diff options
Diffstat (limited to 'sys/arch/alpha/pci')
-rw-r--r-- | sys/arch/alpha/pci/pci_2100_a50.c | 3 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_550.c | 15 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_6600.c | 13 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_axppci_33.c | 3 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_eb164.c | 13 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_kn20aa.c | 3 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_machdep.h | 8 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pci_up1000.c | 15 | ||||
-rw-r--r-- | sys/arch/alpha/pci/pciide_machdep.c | 10 |
9 files changed, 72 insertions, 11 deletions
diff --git a/sys/arch/alpha/pci/pci_2100_a50.c b/sys/arch/alpha/pci/pci_2100_a50.c index 3e65cc73e58..a3c932b3db5 100644 --- a/sys/arch/alpha/pci/pci_2100_a50.c +++ b/sys/arch/alpha/pci/pci_2100_a50.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_2100_a50.c,v 1.12 1999/01/11 05:11:02 millert Exp $ */ +/* $OpenBSD: pci_2100_a50.c,v 1.13 2001/06/25 21:49:40 csapuntz Exp $ */ /* $NetBSD: pci_2100_a50.c,v 1.12 1996/11/13 21:13:29 cgd Exp $ */ /* @@ -85,6 +85,7 @@ pci_2100_a50_pickintr(acp) /* Not supported on 2100 A50. */ pc->pc_pciide_compat_intr_establish = NULL; + pc->pc_pciide_compat_intr_disestablish = NULL; #if NSIO sio_intr_setup(pc, iot); diff --git a/sys/arch/alpha/pci/pci_550.c b/sys/arch/alpha/pci/pci_550.c index 7203004ed9f..6376aa35bfe 100644 --- a/sys/arch/alpha/pci/pci_550.c +++ b/sys/arch/alpha/pci/pci_550.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_550.c,v 1.2 2000/11/08 20:59:25 ericj Exp $ */ +/* $OpenBSD: pci_550.c,v 1.3 2001/06/25 21:49:41 csapuntz Exp $ */ /* $NetBSD: pci_550.c,v 1.18 2000/06/29 08:58:48 mrg Exp $ */ /*- @@ -105,6 +105,8 @@ void dec_550_intr_disestablish __P((void *, void *)); void *dec_550_pciide_compat_intr_establish __P((void *, struct device *, struct pci_attach_args *, int, int (*)(void *), void *)); +void dec_550_pciide_compat_intr_disestablish __P((void *, pci_chipset_tag_t, + void *)); #define DEC_550_PCI_IRQ_BEGIN 8 #define DEC_550_MAX_IRQ (64 - DEC_550_PCI_IRQ_BEGIN) @@ -153,6 +155,8 @@ pci_550_pickintr(ccp) pc->pc_pciide_compat_intr_establish = dec_550_pciide_compat_intr_establish; + pc->pc_pciide_compat_intr_disestablish = + dec_550_pciide_compat_intr_disestablish; /* * DEC 550's interrupts are enabled via the Pyxis interrupt @@ -405,6 +409,15 @@ dec_550_pciide_compat_intr_establish(v, dev, pa, chan, func, arg) } void +dec_550_pciide_compat_intr_disestablish(v, pc, cookie) + void *v; + pci_chipset_tag_t pc; + void *cookie; +{ + sio_intr_disestablish(NULL, cookie); +} + +void dec_550_iointr(framep, vec) void *framep; unsigned long vec; diff --git a/sys/arch/alpha/pci/pci_6600.c b/sys/arch/alpha/pci/pci_6600.c index 5ede9a00c01..96e208f746c 100644 --- a/sys/arch/alpha/pci/pci_6600.c +++ b/sys/arch/alpha/pci/pci_6600.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_6600.c,v 1.2 2001/01/20 20:46:46 art Exp $ */ +/* $OpenBSD: pci_6600.c,v 1.3 2001/06/25 21:49:42 csapuntz Exp $ */ /* $NetBSD: pci_6600.c,v 1.5 2000/06/06 00:50:15 thorpej Exp $ */ /*- @@ -85,6 +85,8 @@ const struct evcnt *dec_6600_intr_evcnt __P((void *, pci_intr_handle_t)); int dec_6600_intr_map __P((void *, pcitag_t, int, int, pci_intr_handle_t *)); void *dec_6600_pciide_compat_intr_establish __P((void *, struct device *, struct pci_attach_args *, int, int (*)(void *), void *)); +void dec_6600_pciide_compat_intr_disestablish __P((void *, pci_chipset_tag_t, + void *)); struct alpha_shared_intr *dec_6600_pci_intr; @@ -369,3 +371,12 @@ dec_6600_pciide_compat_intr_establish(v, dev, pa, chan, func, arg) #endif return (cookie); } + +void +dec_6600_pciide_compat_intr_disestablish(v, pc, cookie) + void *v; + pci_chipset_tag_t pc; + void *cookie; +{ + sio_intr_disestablish(NULL, cookie); +} diff --git a/sys/arch/alpha/pci/pci_axppci_33.c b/sys/arch/alpha/pci/pci_axppci_33.c index 8c30f0c432e..d70ccd19156 100644 --- a/sys/arch/alpha/pci/pci_axppci_33.c +++ b/sys/arch/alpha/pci/pci_axppci_33.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_axppci_33.c,v 1.11 1999/01/11 05:11:03 millert Exp $ */ +/* $OpenBSD: pci_axppci_33.c,v 1.12 2001/06/25 21:49:42 csapuntz Exp $ */ /* $NetBSD: pci_axppci_33.c,v 1.10 1996/11/13 21:13:29 cgd Exp $ */ /* @@ -86,6 +86,7 @@ pci_axppci_33_pickintr(lcp) /* Not supported on AXPpci33. */ pc->pc_pciide_compat_intr_establish = NULL; + pc->pc_pciide_compat_intr_disestablish = NULL; #if NSIO sio_intr_setup(pc, iot); diff --git a/sys/arch/alpha/pci/pci_eb164.c b/sys/arch/alpha/pci/pci_eb164.c index 098809ae9b6..09771e8e562 100644 --- a/sys/arch/alpha/pci/pci_eb164.c +++ b/sys/arch/alpha/pci/pci_eb164.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_eb164.c,v 1.6 2001/02/06 19:28:59 art Exp $ */ +/* $OpenBSD: pci_eb164.c,v 1.7 2001/06/25 21:49:42 csapuntz Exp $ */ /* $NetBSD: pci_eb164.c,v 1.27 2000/06/06 00:50:15 thorpej Exp $ */ /*- @@ -105,6 +105,8 @@ void dec_eb164_intr_disestablish __P((void *, void *)); void *dec_eb164_pciide_compat_intr_establish __P((void *, struct device *, struct pci_attach_args *, int, int (*)(void *), void *)); +void dec_eb164_pciide_compat_intr_disestablish __P((void *, + pci_chipset_tag_t, void *)); #define EB164_SIO_IRQ 4 #define EB164_MAX_IRQ 24 @@ -135,6 +137,8 @@ pci_eb164_pickintr(ccp) pc->pc_pciide_compat_intr_establish = dec_eb164_pciide_compat_intr_establish; + pc->pc_pciide_compat_intr_disestablish = + dec_eb164_pciide_compat_intr_disestablish; eb164_intrgate_iot = iot; if (bus_space_map(eb164_intrgate_iot, 0x804, 3, 0, @@ -333,6 +337,13 @@ dec_eb164_pciide_compat_intr_establish(v, dev, pa, chan, func, arg) } void +dec_eb164_pciide_compat_intr_disestablish(void *v, pci_chipset_tag_t pc, + void *cookie) +{ + sio_intr_disestablish(NULL, cookie); +} + +void eb164_iointr(framep, vec) void *framep; unsigned long vec; diff --git a/sys/arch/alpha/pci/pci_kn20aa.c b/sys/arch/alpha/pci/pci_kn20aa.c index 0efdc2926ff..199b93381fe 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.11 1999/01/11 05:11:03 millert Exp $ */ +/* $OpenBSD: pci_kn20aa.c,v 1.12 2001/06/25 21:49:42 csapuntz Exp $ */ /* $NetBSD: pci_kn20aa.c,v 1.21 1996/11/17 02:05:27 cgd Exp $ */ /* @@ -94,6 +94,7 @@ pci_kn20aa_pickintr(ccp) /* Not supported on KN20AA. */ pc->pc_pciide_compat_intr_establish = NULL; + pc->pc_pciide_compat_intr_disestablish = NULL; kn20aa_pci_intr = alpha_shared_intr_alloc(KN20AA_MAX_IRQ); for (i = 0; i < KN20AA_MAX_IRQ; i++) diff --git a/sys/arch/alpha/pci/pci_machdep.h b/sys/arch/alpha/pci/pci_machdep.h index a649d5ec0ba..0297018ecb3 100644 --- a/sys/arch/alpha/pci/pci_machdep.h +++ b/sys/arch/alpha/pci/pci_machdep.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_machdep.h,v 1.9 1998/07/01 02:47:37 angelos Exp $ */ +/* $OpenBSD: pci_machdep.h,v 1.10 2001/06/25 21:49:43 csapuntz Exp $ */ /* $NetBSD: pci_machdep.h,v 1.6 1996/11/19 04:49:21 cgd Exp $ */ /* @@ -71,6 +71,8 @@ struct alpha_pci_chipset { void *(*pc_pciide_compat_intr_establish) __P((void *, struct device *, struct pci_attach_args *, int, int (*)(void *), void *)); + void (*pc_pciide_compat_intr_disestablish) __P((void *, + pci_chipset_tag_t pc, void *)); }; /* @@ -110,6 +112,10 @@ void pci_display_console __P((bus_space_tag_t, bus_space_tag_t, (*(c)->pc_pciide_compat_intr_establish)((c)->pc_conf_v, (d), (p), \ (ch), (f), (a))) +#define alpha_pciide_compat_intr_disestablish(c, p, cookie) \ + do { ((c)->pc_pciide_compat_intr_disestablish)((c)->pc_conf_v, (p), \ + (cookie)); } while (0) + #ifdef _KERNEL void pci_display_console __P((bus_space_tag_t, bus_space_tag_t, pci_chipset_tag_t, int, int, int)); diff --git a/sys/arch/alpha/pci/pci_up1000.c b/sys/arch/alpha/pci/pci_up1000.c index 6d65b81286b..a6869faef06 100644 --- a/sys/arch/alpha/pci/pci_up1000.c +++ b/sys/arch/alpha/pci/pci_up1000.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pci_up1000.c,v 1.2 2001/04/17 14:53:34 art Exp $ */ +/* $OpenBSD: pci_up1000.c,v 1.3 2001/06/25 21:49:43 csapuntz Exp $ */ /* $NetBSD: pci_up1000.c,v 1.6 2000/12/28 22:59:07 sommerfeld Exp $ */ /*- @@ -75,6 +75,8 @@ void api_up1000_intr_disestablish(void *, void *); void *api_up1000_pciide_compat_intr_establish(void *, struct device *, struct pci_attach_args *, int, int (*)(void *), void *); +void api_up1000_pciide_compat_intr_disestablish(void *, pci_chipset_tag_t, + void *); void pci_up1000_pickintr(struct irongate_config *icp) @@ -93,6 +95,8 @@ pci_up1000_pickintr(struct irongate_config *icp) pc->pc_pciide_compat_intr_establish = api_up1000_pciide_compat_intr_establish; + pc->pc_pciide_compat_intr_disestablish = + api_up1000_pciide_compat_intr_disestablish; #if NSIO sio_intr_setup(pc, iot); @@ -212,8 +216,13 @@ api_up1000_pciide_compat_intr_establish(void *icv, struct device *dev, func, arg, "up 1000 irq"); if (cookie == NULL) return (NULL); - printf("%s: %s channel interrupting at %s\n", dev->dv_xname, - PCIIDE_CHANNEL_NAME(chan), sio_intr_string(NULL /*XXX*/, irq)); #endif return (cookie); } + +void +api_up1000_pciide_compat_intr_disestablish(void *v, pci_chipset_tag_t pc, + void *cookie) +{ + sio_intr_disestablish(NULL, cookie); +} diff --git a/sys/arch/alpha/pci/pciide_machdep.c b/sys/arch/alpha/pci/pciide_machdep.c index dc6b5b61f8d..deaf651179f 100644 --- a/sys/arch/alpha/pci/pciide_machdep.c +++ b/sys/arch/alpha/pci/pciide_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide_machdep.c,v 1.1 1998/07/01 02:42:40 angelos Exp $ */ +/* $OpenBSD: pciide_machdep.c,v 1.2 2001/06/25 21:49:43 csapuntz Exp $ */ /* $NetBSD: pciide_machdep.c,v 1.2 1998/04/18 01:09:20 thorpej Exp $ */ /* @@ -68,3 +68,11 @@ pciide_machdep_compat_intr_establish(dev, pa, chan, func, arg) return (alpha_pciide_compat_intr_establish(pc, dev, pa, chan, func, arg)); } + +void +pciide_machdep_compat_intr_disestablish(pc, cookie) + pci_chipset_tag_t pc; + void *cookie; +{ + return (alpha_pciide_compat_intr_disestablish(pc, cookie)); +} |