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 }