summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/pci
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/alpha/pci')
-rw-r--r--sys/arch/alpha/pci/pci_2100_a50.c3
-rw-r--r--sys/arch/alpha/pci/pci_550.c15
-rw-r--r--sys/arch/alpha/pci/pci_6600.c13
-rw-r--r--sys/arch/alpha/pci/pci_axppci_33.c3
-rw-r--r--sys/arch/alpha/pci/pci_eb164.c13
-rw-r--r--sys/arch/alpha/pci/pci_kn20aa.c3
-rw-r--r--sys/arch/alpha/pci/pci_machdep.h8
-rw-r--r--sys/arch/alpha/pci/pci_up1000.c15
-rw-r--r--sys/arch/alpha/pci/pciide_machdep.c10
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));
+}