Module Name: src Committed By: matt Date: Fri Sep 7 03:05:12 UTC 2012
Modified Files: src/sys/arch/arm/gemini: gemini_pci.c src/sys/arch/arm/ixp12x0: ixp12x0_pci.c src/sys/arch/arm/marvell: pci_machdep.c src/sys/arch/arm/s3c2xx0: s3c2800_pci.c src/sys/arch/arm/xscale: i80312_pci.c i80321_pci.c ixp425_pci.c Log Message: Fix more pci_conf_interrupt/pci_conf_hook problems To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/gemini/gemini_pci.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/ixp12x0/ixp12x0_pci.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/marvell/pci_machdep.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/s3c2xx0/s3c2800_pci.c cvs rdiff -u -r1.11 -r1.12 src/sys/arch/arm/xscale/i80312_pci.c cvs rdiff -u -r1.12 -r1.13 src/sys/arch/arm/xscale/i80321_pci.c cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/xscale/ixp425_pci.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/arm/gemini/gemini_pci.c diff -u src/sys/arch/arm/gemini/gemini_pci.c:1.12 src/sys/arch/arm/gemini/gemini_pci.c:1.13 --- src/sys/arch/arm/gemini/gemini_pci.c:1.12 Thu Sep 6 02:02:04 2012 +++ src/sys/arch/arm/gemini/gemini_pci.c Fri Sep 7 03:05:11 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: gemini_pci.c,v 1.12 2012/09/06 02:02:04 matt Exp $ */ +/* $NetBSD: gemini_pci.c,v 1.13 2012/09/07 03:05:11 matt Exp $ */ /* adapted from: * NetBSD: i80312_pci.c,v 1.9 2005/12/11 12:16:51 christos Exp @@ -44,7 +44,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: gemini_pci.c,v 1.12 2012/09/06 02:02:04 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gemini_pci.c,v 1.13 2012/09/07 03:05:11 matt Exp $"); #include <sys/cdefs.h> @@ -84,7 +84,7 @@ void gemini_pci_decompose_tag(void *, p pcireg_t gemini_pci_conf_read(void *, pcitag_t, int); void gemini_pci_conf_write(void *, pcitag_t, int, pcireg_t); int gemini_pci_conf_hook(void *, int, int, int, pcireg_t); -int gemini_pci_conf_interrupt(void *, int, int, int, int, int *); +void gemini_pci_conf_interrupt(void *, int, int, int, int, int *); int gemini_pci_intr_map(const struct pci_attach_args *, pci_intr_handle_t *); Index: src/sys/arch/arm/ixp12x0/ixp12x0_pci.c diff -u src/sys/arch/arm/ixp12x0/ixp12x0_pci.c:1.11 src/sys/arch/arm/ixp12x0/ixp12x0_pci.c:1.12 --- src/sys/arch/arm/ixp12x0/ixp12x0_pci.c:1.11 Fri Jan 27 18:52:51 2012 +++ src/sys/arch/arm/ixp12x0/ixp12x0_pci.c Fri Sep 7 03:05:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: ixp12x0_pci.c,v 1.11 2012/01/27 18:52:51 para Exp $ */ +/* $NetBSD: ixp12x0_pci.c,v 1.12 2012/09/07 03:05:12 matt Exp $ */ /* * Copyright (c) 2002, 2003 The NetBSD Foundation, Inc. * All rights reserved. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ixp12x0_pci.c,v 1.11 2012/01/27 18:52:51 para Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixp12x0_pci.c,v 1.12 2012/09/07 03:05:12 matt Exp $"); /* * PCI configuration support for IXP12x0 Network Processor chip. @@ -60,6 +60,7 @@ pcitag_t ixp12x0_pci_make_tag(void *, in void ixp12x0_pci_decompose_tag(void *, pcitag_t, int *, int *, int *); pcireg_t ixp12x0_pci_conf_read(void *, pcitag_t, int); void ixp12x0_pci_conf_write(void *, pcitag_t, int, pcireg_t); +void ixp12x0_pci_conf_interrupt(void *, int, int, int, int, int *); static vaddr_t ixp12x0_pci_conf_setup(void *, struct ixp12x0_softc *, pcitag_t, int); @@ -92,6 +93,7 @@ ixp12x0_pci_init(pci_chipset_tag_t pc, v pc->pc_decompose_tag = ixp12x0_pci_decompose_tag; pc->pc_conf_read = ixp12x0_pci_conf_read; pc->pc_conf_write = ixp12x0_pci_conf_write; + pc->pc_conf_interrupt = ixp12x0_pci_conf_interrupt; #if NPCI > 0 && defined(PCI_NETBSD_CONFIGURE) ioext = extent_create("pciio", 0, IXP12X0_PCI_IO_SIZE - 1, @@ -111,7 +113,7 @@ ixp12x0_pci_init(pci_chipset_tag_t pc, v } void -pci_conf_interrupt(pci_chipset_tag_t pc, int a, int b, int c, int d, int *p) +ixp12x0_pci_conf_interrupt(void *v, int a, int b, int c, int d, int *p) { /* Nothing */ } Index: src/sys/arch/arm/marvell/pci_machdep.c diff -u src/sys/arch/arm/marvell/pci_machdep.c:1.2 src/sys/arch/arm/marvell/pci_machdep.c:1.3 --- src/sys/arch/arm/marvell/pci_machdep.c:1.2 Mon Apr 4 20:37:46 2011 +++ src/sys/arch/arm/marvell/pci_machdep.c Fri Sep 7 03:05:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pci_machdep.c,v 1.2 2011/04/04 20:37:46 dyoung Exp $ */ +/* $NetBSD: pci_machdep.c,v 1.3 2012/09/07 03:05:12 matt Exp $ */ /* * Copyright (c) 2008 KIYOHARA Takashi * All rights reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pci_machdep.c,v 1.2 2011/04/04 20:37:46 dyoung Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pci_machdep.c,v 1.3 2012/09/07 03:05:12 matt Exp $"); #include "opt_mvsoc.h" #include "gtpci.h" @@ -97,6 +97,7 @@ struct arm32_pci_chipset arm32_gtpci_chi #ifdef __HAVE_PCI_CONF_HOOK gtpci_conf_hook, #endif + gtpci_conf_interrupt, }; #endif @@ -148,13 +149,13 @@ struct arm32_pci_chipset arm32_mvpex1_ch #ifdef __HAVE_PCI_CONF_HOOK mvpex_conf_hook, #endif + mvpex_conf_interrupt, }; #endif void -pci_conf_interrupt(pci_chipset_tag_t v, int bus, int dev, int pin, int swiz, - int *iline) +gtpci_conf_interrupt(void *v, int bus, int dev, int pin, int swiz, int *iline) { /* nothing */ Index: src/sys/arch/arm/s3c2xx0/s3c2800_pci.c diff -u src/sys/arch/arm/s3c2xx0/s3c2800_pci.c:1.17 src/sys/arch/arm/s3c2xx0/s3c2800_pci.c:1.18 --- src/sys/arch/arm/s3c2xx0/s3c2800_pci.c:1.17 Fri Jan 27 18:52:51 2012 +++ src/sys/arch/arm/s3c2xx0/s3c2800_pci.c Fri Sep 7 03:05:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: s3c2800_pci.c,v 1.17 2012/01/27 18:52:51 para Exp $ */ +/* $NetBSD: s3c2800_pci.c,v 1.18 2012/09/07 03:05:12 matt Exp $ */ /* * Copyright (c) 2002 Fujitsu Component Limited @@ -100,7 +100,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: s3c2800_pci.c,v 1.17 2012/01/27 18:52:51 para Exp $"); +__KERNEL_RCSID(0, "$NetBSD: s3c2800_pci.c,v 1.18 2012/09/07 03:05:12 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -144,6 +144,7 @@ pcitag_t s3c2800_pci_make_tag(void *, in void s3c2800_pci_decompose_tag(void *, pcitag_t, int *, int *, int *); pcireg_t s3c2800_pci_conf_read(void *, pcitag_t, int); void s3c2800_pci_conf_write(void *, pcitag_t, int, pcireg_t); +void s3c2800_pci_conf_interrupt(void *, int, int, int, int, int *); int s3c2800_pci_intr_map(const struct pci_attach_args *, pci_intr_handle_t *); const char *s3c2800_pci_intr_string(void *, pci_intr_handle_t); @@ -206,7 +207,11 @@ struct arm32_pci_chipset sspci_chipset = s3c2800_pci_intr_string, s3c2800_pci_intr_evcnt, s3c2800_pci_intr_establish, - s3c2800_pci_intr_disestablish + s3c2800_pci_intr_disestablish, +#ifdef __HAVE_PCI_CONF_HOOK + NULL, +#endif + s3c2800_pci_conf_interrupt, }; @@ -383,11 +388,10 @@ sspci_bs_map(void *t, bus_addr_t bpa, bu void -pci_conf_interrupt(pci_chipset_tag_t pc, int bus, int dev, int func, - int swiz, int *iline) +s3c2800_pci_conf_interrupt(void *v, int bus, int dev, int ipin, int swiz, int *iline) { #ifdef PCI_DEBUG - printf("pci_conf_interrupt(pc(%lx), bus(%d), dev(%d), func(%d), swiz(%d), *iline(%p)\n", (unsigned long) pc, bus, dev, func, swiz, iline); + printf("pci_conf_interrupt(v(%p), bus(%d), dev(%d), ipin(%d), swiz(%d), *iline(%p)\n", v, bus, dev, ipin, swiz, iline); #endif if (bus == 0) { *iline = dev; Index: src/sys/arch/arm/xscale/i80312_pci.c diff -u src/sys/arch/arm/xscale/i80312_pci.c:1.11 src/sys/arch/arm/xscale/i80312_pci.c:1.12 --- src/sys/arch/arm/xscale/i80312_pci.c:1.11 Fri Jan 27 18:52:51 2012 +++ src/sys/arch/arm/xscale/i80312_pci.c Fri Sep 7 03:05:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: i80312_pci.c,v 1.11 2012/01/27 18:52:51 para Exp $ */ +/* $NetBSD: i80312_pci.c,v 1.12 2012/09/07 03:05:12 matt Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i80312_pci.c,v 1.11 2012/01/27 18:52:51 para Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i80312_pci.c,v 1.12 2012/09/07 03:05:12 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -69,6 +69,7 @@ void i80312_pci_decompose_tag(void *, p int *); pcireg_t i80312_pci_conf_read(void *, pcitag_t, int); void i80312_pci_conf_write(void *, pcitag_t, int, pcireg_t); +void i80312_pci_conf_interrupt(void *, int, int, int, int, int *); #define PCI_CONF_LOCK(s) (s) = disable_interrupts(I32_bit) #define PCI_CONF_UNLOCK(s) restore_interrupts((s)) @@ -90,6 +91,7 @@ i80312_pci_init(pci_chipset_tag_t pc, vo pc->pc_decompose_tag = i80312_pci_decompose_tag; pc->pc_conf_read = i80312_pci_conf_read; pc->pc_conf_write = i80312_pci_conf_write; + pc->pc_conf_interrupt = i80312_pci_conf_interrupt; #if NPCI > 0 && defined(PCI_NETBSD_CONFIGURE) /* @@ -122,7 +124,7 @@ i80312_pci_init(pci_chipset_tag_t pc, vo } void -pci_conf_interrupt(pci_chipset_tag_t pc, int a, int b, int c, int d, int *p) +i80312_pci_conf_interrupt(void *v, int a, int b, int c, int d, int *p) { } Index: src/sys/arch/arm/xscale/i80321_pci.c diff -u src/sys/arch/arm/xscale/i80321_pci.c:1.12 src/sys/arch/arm/xscale/i80321_pci.c:1.13 --- src/sys/arch/arm/xscale/i80321_pci.c:1.12 Sun Feb 12 16:31:01 2012 +++ src/sys/arch/arm/xscale/i80321_pci.c Fri Sep 7 03:05:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: i80321_pci.c,v 1.12 2012/02/12 16:31:01 matt Exp $ */ +/* $NetBSD: i80321_pci.c,v 1.13 2012/09/07 03:05:12 matt Exp $ */ /* * Copyright (c) 2001, 2002 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: i80321_pci.c,v 1.12 2012/02/12 16:31:01 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: i80321_pci.c,v 1.13 2012/09/07 03:05:12 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -70,6 +70,7 @@ void i80321_pci_decompose_tag(void *, p int *); pcireg_t i80321_pci_conf_read(void *, pcitag_t, int); void i80321_pci_conf_write(void *, pcitag_t, int, pcireg_t); +void i80321_pci_conf_interrupt(void *, int, int, int, int, int *); #define PCI_CONF_LOCK(s) (s) = disable_interrupts(I32_bit) #define PCI_CONF_UNLOCK(s) restore_interrupts((s)) @@ -90,6 +91,7 @@ i80321_pci_init(pci_chipset_tag_t pc, vo pc->pc_decompose_tag = i80321_pci_decompose_tag; pc->pc_conf_read = i80321_pci_conf_read; pc->pc_conf_write = i80321_pci_conf_write; + pc->pc_conf_interrupt = i80321_pci_conf_interrupt; #if NPCI > 0 && defined(PCI_NETBSD_CONFIGURE) /* @@ -131,7 +133,7 @@ i80321_pci_init(pci_chipset_tag_t pc, vo } void -pci_conf_interrupt(pci_chipset_tag_t pc, int a, int b, int c, int d, int *p) +i80321_pci_conf_interrupt(void *v, int a, int b, int c, int d, int *p) { } Index: src/sys/arch/arm/xscale/ixp425_pci.c diff -u src/sys/arch/arm/xscale/ixp425_pci.c:1.8 src/sys/arch/arm/xscale/ixp425_pci.c:1.9 --- src/sys/arch/arm/xscale/ixp425_pci.c:1.8 Fri Jan 27 18:52:51 2012 +++ src/sys/arch/arm/xscale/ixp425_pci.c Fri Sep 7 03:05:12 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: ixp425_pci.c,v 1.8 2012/01/27 18:52:51 para Exp $ */ +/* $NetBSD: ixp425_pci.c,v 1.9 2012/09/07 03:05:12 matt Exp $ */ /* * Copyright (c) 2003 @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ixp425_pci.c,v 1.8 2012/01/27 18:52:51 para Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ixp425_pci.c,v 1.9 2012/09/07 03:05:12 matt Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -58,6 +58,7 @@ int ixp425_pci_bus_maxdevs(void *, int); void ixp425_pci_decompose_tag(void *, pcitag_t, int *, int *, int *); void ixp425_pci_conf_setup(void *, struct ixp425_softc *, pcitag_t, int); void ixp425_pci_conf_write(void *, pcitag_t, int, pcireg_t); +void ixp425_pci_conf_interrupt(void *, int, int, int, int, int *); pcitag_t ixp425_pci_make_tag(void *, int, int, int); pcireg_t ixp425_pci_conf_read(void *, pcitag_t, int); @@ -80,6 +81,7 @@ ixp425_pci_init(struct ixp425_softc *sc) pc->pc_decompose_tag = ixp425_pci_decompose_tag; pc->pc_conf_read = ixp425_pci_conf_read; pc->pc_conf_write = ixp425_pci_conf_write; + pc->pc_conf_interrupt = ixp425_pci_conf_interrupt; /* * Initialize the bus space tags. @@ -105,7 +107,7 @@ ixp425_pci_init(struct ixp425_softc *sc) } void -pci_conf_interrupt(pci_chipset_tag_t pc, int a, int b, int c, int d, int *p) +ixp425_pci_conf_interrupt(void *v, int a, int b, int c, int d, int *p) { }