Module Name: src
Committed By: matt
Date: Sat Dec 31 08:20:43 UTC 2011
Modified Files:
src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_com.c rmixl_gpio_pci.c
rmixl_intr.c rmixl_intr.h rmixl_obio.c rmixl_pcie.c rmixl_pcix.c
rmixl_usbi.c rmixlp_pcie.c
Log Message:
Switch to using IST_<foo> instead of private enums.
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.16 -r1.1.2.17 src/sys/arch/mips/rmi/rmixl_com.c
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/arch/mips/rmi/rmixl_gpio_pci.c
cvs rdiff -u -r1.1.2.32 -r1.1.2.33 src/sys/arch/mips/rmi/rmixl_intr.c
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/sys/arch/mips/rmi/rmixl_intr.h \
src/sys/arch/mips/rmi/rmixl_pcix.c
cvs rdiff -u -r1.1.2.17 -r1.1.2.18 src/sys/arch/mips/rmi/rmixl_obio.c
cvs rdiff -u -r1.1.2.19 -r1.1.2.20 src/sys/arch/mips/rmi/rmixl_pcie.c
cvs rdiff -u -r1.1.2.9 -r1.1.2.10 src/sys/arch/mips/rmi/rmixl_usbi.c
cvs rdiff -u -r1.1.2.5 -r1.1.2.6 src/sys/arch/mips/rmi/rmixlp_pcie.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/rmi/rmixl_com.c
diff -u src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.16 src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.17
--- src/sys/arch/mips/rmi/rmixl_com.c:1.1.2.16 Sat Dec 24 01:57:54 2011
+++ src/sys/arch/mips/rmi/rmixl_com.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $Id: rmixl_com.c,v 1.1.2.16 2011/12/24 01:57:54 matt Exp $ */
+/* $Id: rmixl_com.c,v 1.1.2.17 2011/12/31 08:20:43 matt Exp $ */
/*-
* Copyright (c) 2006 Urbana-Champaign Independent Media Center.
* Copyright (c) 2006 Garrett D'Amore.
@@ -101,7 +101,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixl_com.c,v 1.1.2.16 2011/12/24 01:57:54 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_com.c,v 1.1.2.17 2011/12/31 08:20:43 matt Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -214,9 +214,8 @@ rmixl_com_attach(device_t parent, device
com_attach_subr(sc);
- rmixl_intr_establish(obio->obio_intr,
- IPL_VM, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- comintr, sc, true);
+ rmixl_intr_establish(obio->obio_intr, IPL_VM, IST_LEVEL_HIGH,
+ comintr, sc, true);
}
Index: src/sys/arch/mips/rmi/rmixl_gpio_pci.c
diff -u src/sys/arch/mips/rmi/rmixl_gpio_pci.c:1.1.2.3 src/sys/arch/mips/rmi/rmixl_gpio_pci.c:1.1.2.4
--- src/sys/arch/mips/rmi/rmixl_gpio_pci.c:1.1.2.3 Sat Dec 31 04:30:52 2011
+++ src/sys/arch/mips/rmi/rmixl_gpio_pci.c Sat Dec 31 08:20:43 2011
@@ -29,7 +29,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: rmixl_gpio_pci.c,v 1.1.2.3 2011/12/31 04:30:52 matt Exp $");
+__KERNEL_RCSID(1, "$NetBSD: rmixl_gpio_pci.c,v 1.1.2.4 2011/12/31 08:20:43 matt Exp $");
#include <sys/param.h>
#include <sys/atomic.h>
@@ -303,8 +303,7 @@ xlgpio_pci_attach(device_t parent, devic
for (size_t ipl = IPL_VM; ipl <= IPL_HIGH ; ipl++) {
const size_t irt = ipl - IPL_VM;
if (rmixl_intr_establish(irtstart + irt, ipl,
- RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- xlgpio_intrs[irt], sc, true) == NULL)
+ IST_LEVEL_HIGH, xlgpio_intrs[irt], sc, true) == NULL)
panic("%s: failed to establish interrupt %zu",
__func__, irtstart + irt);
}
Index: src/sys/arch/mips/rmi/rmixl_intr.c
diff -u src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.32 src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.33
--- src/sys/arch/mips/rmi/rmixl_intr.c:1.1.2.32 Sat Dec 31 07:53:12 2011
+++ src/sys/arch/mips/rmi/rmixl_intr.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixl_intr.c,v 1.1.2.32 2011/12/31 07:53:12 matt Exp $ */
+/* $NetBSD: rmixl_intr.c,v 1.1.2.33 2011/12/31 08:20:43 matt Exp $ */
/*-
* Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -64,7 +64,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixl_intr.c,v 1.1.2.32 2011/12/31 07:53:12 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_intr.c,v 1.1.2.33 2011/12/31 08:20:43 matt Exp $");
#include "opt_ddb.h"
#include "opt_multiprocessor.h"
@@ -726,8 +726,7 @@ static int rmixl_pic_init_done;
static uint32_t rmixl_irt_thread_mask(__cpuset_t);
static void rmixl_irt_init(size_t);
static void rmixl_irt_disestablish(size_t);
-static void rmixl_irt_establish(size_t, size_t,
- rmixl_intr_trigger_t, rmixl_intr_polarity_t);
+static void rmixl_irt_establish(size_t, size_t, int);
static size_t rmixl_intr_get_vec(int);
#ifdef MULTIPROCESSOR
@@ -1082,8 +1081,7 @@ rmixl_irt_disestablish(size_t irt)
* - construct an IRT Entry for irt and write to PIC
*/
static void
-rmixl_irt_establish(size_t irt, size_t vec, rmixl_intr_trigger_t trigger,
- rmixl_intr_polarity_t polarity)
+rmixl_irt_establish(size_t irt, size_t vec, int ist)
{
const bool is_xlp_p = cpu_rmixlp(mips_options.mips_cpu);
@@ -1093,22 +1091,14 @@ rmixl_irt_establish(size_t irt, size_t v
panic("%s: bad irt %zu\n", __func__, irt);
/*
- * All XLP interrupt are level.
+ * All XLP interrupt are level (high).
*/
- if (trigger != RMIXL_TRIG_LEVEL
- && (is_xlp_p || trigger != RMIXL_TRIG_EDGE)) {
- panic("%s: bad trigger %d\n", __func__, trigger);
- }
-
- /*
- * All XLP interrupt have high (positive) polarity.
- */
- if (polarity != RMIXL_POLR_HIGH
+ if (ist != IST_LEVEL && ist != IST_LEVEL_HIGH
&& (is_xlp_p
- || (polarity != RMIXL_POLR_RISING
- && polarity != RMIXL_POLR_FALLING
- && polarity != RMIXL_POLR_LOW))) {
- panic("%s: bad polarity %d\n", __func__, polarity);
+ || (ist != IST_EDGE
+ && ist != IST_EDGE_FALLING
+ && ist != IST_EDGE_RISING))) {
+ panic("%s: bad ist %d\n", __func__, ist);
}
/*
@@ -1140,12 +1130,13 @@ rmixl_irt_establish(size_t irt, size_t v
irtc1 |= RMIXL_PIC_IRTENTRYC1_GL; /* local */
KASSERT((irtc1 & RMIXL_PIC_IRTENTRYC1_NMI) == 0);
- if (trigger == RMIXL_TRIG_LEVEL)
+ if (ist == IST_LEVEL
+ || ist == IST_LEVEL_LOW
+ || ist == IST_LEVEL_HIGH)
irtc1 |= RMIXL_PIC_IRTENTRYC1_TRG;
KASSERT((irtc1 & RMIXL_PIC_IRTENTRYC1_NMI) == 0);
- if (polarity == RMIXL_POLR_FALLING
- || polarity == RMIXL_POLR_LOW)
+ if (ist == IST_LEVEL_LOW || ist == IST_EDGE_FALLING)
irtc1 |= RMIXL_PIC_IRTENTRYC1_P;
KASSERT((irtc1 & RMIXL_PIC_IRTENTRYC1_NMI) == 0);
@@ -1242,8 +1233,7 @@ rmixl_vec_establish(size_t vec, rmixl_in
* - used to establish an IRT-based interrupt only
*/
void *
-rmixl_intr_establish(size_t irt, int ipl,
- rmixl_intr_trigger_t trigger, rmixl_intr_polarity_t polarity,
+rmixl_intr_establish(size_t irt, int ipl, int ist,
int (*func)(void *), void *arg, bool mpsafe)
{
#ifdef DIAGNOSTIC
@@ -1280,7 +1270,7 @@ rmixl_intr_establish(size_t irt, int ipl
/*
* establish IRT Entry
*/
- rmixl_irt_establish(irt, vec, trigger, polarity);
+ rmixl_irt_establish(irt, vec, ist);
mutex_exit(rmixl_intr_lock);
Index: src/sys/arch/mips/rmi/rmixl_intr.h
diff -u src/sys/arch/mips/rmi/rmixl_intr.h:1.1.2.10 src/sys/arch/mips/rmi/rmixl_intr.h:1.1.2.11
--- src/sys/arch/mips/rmi/rmixl_intr.h:1.1.2.10 Fri Dec 30 06:48:55 2011
+++ src/sys/arch/mips/rmi/rmixl_intr.h Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixl_intr.h,v 1.1.2.10 2011/12/30 06:48:55 matt Exp $ */
+/* $NetBSD: rmixl_intr.h,v 1.1.2.11 2011/12/31 08:20:43 matt Exp $ */
/*-
* Copyright (c) 2010 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -51,19 +51,6 @@
#define RMIXL_INTRVEC_IPI 8
#define RMIXL_INTRVEC_FMN (RMIXL_INTRVEC_IPI + NIPIS)
-typedef enum {
- RMIXL_TRIG_LEVEL=0,
- RMIXL_TRIG_EDGE,
-} rmixl_intr_trigger_t;
-
-typedef enum {
- RMIXL_POLR_HIGH=0,
- RMIXL_POLR_LOW,
- RMIXL_POLR_RISING,
- RMIXL_POLR_FALLING,
-} rmixl_intr_polarity_t;
-
-
/*
* iv_list and ref count manage sharing of each vector
*/
@@ -90,8 +77,7 @@ typedef TAILQ_HEAD(rmixl_intrvecq, rmixl
extern const struct splsw rmixl_splsw;
extern uint64_t ipl_eimr_map[];
-void * rmixl_intr_establish(size_t /* irt */, int /* ipl */,
- rmixl_intr_trigger_t, rmixl_intr_polarity_t,
+void * rmixl_intr_establish(size_t /* irt */, int /* ipl */, int /* ist */,
int (*)(void *), void *, bool);
void rmixl_intr_disestablish(void *);
void * rmixl_vec_establish(size_t /* vec */, rmixl_intrhand_t *, int /* ipl */,
Index: src/sys/arch/mips/rmi/rmixl_pcix.c
diff -u src/sys/arch/mips/rmi/rmixl_pcix.c:1.1.2.10 src/sys/arch/mips/rmi/rmixl_pcix.c:1.1.2.11
--- src/sys/arch/mips/rmi/rmixl_pcix.c:1.1.2.10 Sat Dec 24 01:57:54 2011
+++ src/sys/arch/mips/rmi/rmixl_pcix.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixl_pcix.c,v 1.1.2.10 2011/12/24 01:57:54 matt Exp $ */
+/* $NetBSD: rmixl_pcix.c,v 1.1.2.11 2011/12/31 08:20:43 matt Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixl_pcix.c,v 1.1.2.10 2011/12/24 01:57:54 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_pcix.c,v 1.1.2.11 2011/12/31 08:20:43 matt Exp $");
#include "opt_pci.h"
#include "pci.h"
@@ -517,9 +517,8 @@ rmixl_pcix_intcfg(rmixl_pcix_softc_t *sc
/*
* establish PCIX error interrupt handler
*/
- sc->sc_fatal_ih = rmixl_intr_establish(24,
- IPL_VM, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- rmixl_pcix_error_intr, sc, false);
+ sc->sc_fatal_ih = rmixl_intr_establish(24, IPL_VM, IST_LEVEL_HIGH,
+ rmixl_pcix_error_intr, sc, false);
if (sc->sc_fatal_ih == NULL)
panic("%s: cannot establish irq %d", __func__, 24);
}
@@ -950,8 +949,7 @@ rmixl_pcix_pip_add_1(rmixl_pcix_softc_t
/* initialize the interrupt struct */
pip_new->sc = sc;
pip_new->ipl = ipl;
- pip_new->ih = rmixl_intr_establish(irq,
- ipl, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
+ pip_new->ih = rmixl_intr_establish(irq, ipl, IST_LEVEL_HIGH,
rmixl_pcix_intr, pip_new, false);
if (pip_new->ih == NULL)
panic("%s: cannot establish irq %d", __func__, irq);
Index: src/sys/arch/mips/rmi/rmixl_obio.c
diff -u src/sys/arch/mips/rmi/rmixl_obio.c:1.1.2.17 src/sys/arch/mips/rmi/rmixl_obio.c:1.1.2.18
--- src/sys/arch/mips/rmi/rmixl_obio.c:1.1.2.17 Sat Dec 24 01:57:54 2011
+++ src/sys/arch/mips/rmi/rmixl_obio.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixl_obio.c,v 1.1.2.17 2011/12/24 01:57:54 matt Exp $ */
+/* $NetBSD: rmixl_obio.c,v 1.1.2.18 2011/12/31 08:20:43 matt Exp $ */
/*
* Copyright (c) 2001, 2002, 2003 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixl_obio.c,v 1.1.2.17 2011/12/24 01:57:54 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_obio.c,v 1.1.2.18 2011/12/31 08:20:43 matt Exp $");
#include "locators.h"
#include "pci.h"
@@ -245,9 +245,8 @@ rmixl_addr_error_init(void)
* XXX is true for XLS family only
*/
if (cpu_rmixls(mips_options.mips_cpu))
- rmixl_intr_establish(16, IPL_HIGH,
- RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- rmixl_addr_error_intr, NULL, false);
+ rmixl_intr_establish(16, IPL_HIGH, IST_LEVEL_HIGH,
+ rmixl_addr_error_intr, NULL, false);
}
int
Index: src/sys/arch/mips/rmi/rmixl_pcie.c
diff -u src/sys/arch/mips/rmi/rmixl_pcie.c:1.1.2.19 src/sys/arch/mips/rmi/rmixl_pcie.c:1.1.2.20
--- src/sys/arch/mips/rmi/rmixl_pcie.c:1.1.2.19 Tue Dec 27 16:07:34 2011
+++ src/sys/arch/mips/rmi/rmixl_pcie.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixl_pcie.c,v 1.1.2.19 2011/12/27 16:07:34 matt Exp $ */
+/* $NetBSD: rmixl_pcie.c,v 1.1.2.20 2011/12/31 08:20:43 matt Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixl_pcie.c,v 1.1.2.19 2011/12/27 16:07:34 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_pcie.c,v 1.1.2.20 2011/12/31 08:20:43 matt Exp $");
#include "opt_pci.h"
#include "pci.h"
@@ -832,9 +832,8 @@ rmixl_pcie_init_ecfg(struct rmixl_pcie_s
case MIPS_XLS208:
case MIPS_XLS404LITE:
case MIPS_XLS408LITE:
- sc->sc_fatal_ih = rmixl_intr_establish(29,
- IPL_HIGH, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- rmixl_pcie_error_intr, v, false);
+ sc->sc_fatal_ih = rmixl_intr_establish(29, IPL_HIGH,
+ IST_LEVEL_HIGH, rmixl_pcie_error_intr, v, false);
break;
default:
break;
@@ -1379,8 +1378,7 @@ rmixl_pcie_lip_add_1(rmixl_pcie_softc_t
lip_new->sc = sc;
lip_new->link = link;
lip_new->ipl = ipl;
- lip_new->ih = rmixl_intr_establish(irq,
- ipl, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
+ lip_new->ih = rmixl_intr_establish(irq, ipl, IST_LEVEL_HIGH,
rmixl_pcie_intr, lip_new, false);
if (lip_new->ih == NULL)
panic("%s: cannot establish irq %d", __func__, irq);
Index: src/sys/arch/mips/rmi/rmixl_usbi.c
diff -u src/sys/arch/mips/rmi/rmixl_usbi.c:1.1.2.9 src/sys/arch/mips/rmi/rmixl_usbi.c:1.1.2.10
--- src/sys/arch/mips/rmi/rmixl_usbi.c:1.1.2.9 Fri Dec 30 06:43:39 2011
+++ src/sys/arch/mips/rmi/rmixl_usbi.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixl_usbi.c,v 1.1.2.9 2011/12/30 06:43:39 matt Exp $ */
+/* $NetBSD: rmixl_usbi.c,v 1.1.2.10 2011/12/31 08:20:43 matt Exp $ */
/*-
* Copyright (c) 1998, 1999, 2000, 2002, 2003 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixl_usbi.c,v 1.1.2.9 2011/12/30 06:43:39 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixl_usbi.c,v 1.1.2.10 2011/12/31 08:20:43 matt Exp $");
#include "locators.h"
@@ -153,9 +153,8 @@ rmixl_usbi_attach(device_t parent, devic
/* establish interrupt */
if (obio->obio_intr != OBIOCF_INTR_DEFAULT) {
- ih = rmixl_intr_establish(obio->obio_intr,
- IPL_USB, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- rmixl_usbi_intr, sc, false);
+ ih = rmixl_intr_establish(obio->obio_intr, IPL_USB,
+ IST_LEVEL_HIGH, rmixl_usbi_intr, sc, false);
if (ih == NULL)
panic("%s: couldn't establish interrupt",
device_xname(self));
Index: src/sys/arch/mips/rmi/rmixlp_pcie.c
diff -u src/sys/arch/mips/rmi/rmixlp_pcie.c:1.1.2.5 src/sys/arch/mips/rmi/rmixlp_pcie.c:1.1.2.6
--- src/sys/arch/mips/rmi/rmixlp_pcie.c:1.1.2.5 Sat Dec 31 04:54:28 2011
+++ src/sys/arch/mips/rmi/rmixlp_pcie.c Sat Dec 31 08:20:43 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: rmixlp_pcie.c,v 1.1.2.5 2011/12/31 04:54:28 matt Exp $ */
+/* $NetBSD: rmixlp_pcie.c,v 1.1.2.6 2011/12/31 08:20:43 matt Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rmixlp_pcie.c,v 1.1.2.5 2011/12/31 04:54:28 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rmixlp_pcie.c,v 1.1.2.6 2011/12/31 08:20:43 matt Exp $");
#include "opt_pci.h"
#include "pci.h"
@@ -765,9 +765,8 @@ rmixlp_pcie_init_ecfg(struct rmixlp_pcie
case MIPS_XLS208:
case MIPS_XLS404LITE:
case MIPS_XLS408LITE:
- sc->sc_fatal_ih = rmixl_intr_establish(29, sc->sc_tmsk,
- IPL_HIGH, RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
- rmixlp_pcie_error_intr, v, false);
+ sc->sc_fatal_ih = rmixl_intr_establish(29, IPL_HIGH,
+ IST_LEVEL_HIGH, rmixlp_pcie_error_intr, v, false);
break;
default:
break;
@@ -1233,8 +1232,7 @@ rmixlp_pcie_intr_establish(void *v, pci_
// size_t node = (pih >> 24) & 0x03;
if (pin)
return NULL;
- return rmixl_intr_establish(irt, ipl,
- RMIXL_TRIG_LEVEL, RMIXL_POLR_HIGH,
+ return rmixl_intr_establish(irt, ipl, IST_LEVEL_HIGH,
func, arg, is_mpsafe_p);
#endif
}