Module Name:    src
Committed By:   jmcneill
Date:           Fri Nov 16 15:06:23 UTC 2018

Modified Files:
        src/sys/arch/arm/acpi: acpi_pci_machdep.c acpipchb.c
        src/sys/arch/arm/broadcom: bcm53xx_pax.c
        src/sys/arch/arm/cortex: gic_v2m.c gicv3_its.c
        src/sys/arch/arm/fdt: pcihost_fdt.c
        src/sys/arch/arm/gemini: gemini_pci.c
        src/sys/arch/arm/include: pci_machdep.h
        src/sys/arch/arm/marvell: pci_machdep.c
        src/sys/arch/arm/nvidia: tegra_pcie.c
        src/sys/arch/arm/pci: pci_msi_machdep.c pci_msi_machdep.h
        src/sys/arch/arm/pic: pic.c picvar.h
        src/sys/arch/arm/s3c2xx0: s3c2800_pci.c
        src/sys/arch/arm/xscale: becc_pci.c
        src/sys/arch/evbarm/cp3100: cp3100_pci.c
        src/sys/arch/evbarm/hdl_g: hdlg_pci.c
        src/sys/arch/evbarm/ifpga: ifpga_pci.c
        src/sys/arch/evbarm/iq80310: iq80310_pci.c
        src/sys/arch/evbarm/iq80321: iq80321_pci.c
        src/sys/arch/evbarm/ixm1200: ixm1200_pci.c
        src/sys/dev/marvell: if_mvgbe.c mvpex.c mvpexvar.h

Log Message:
Add intr_establish_xname support to arm and expose it to intrctl


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/arm/acpi/acpi_pci_machdep.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/acpi/acpipchb.c
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/broadcom/bcm53xx_pax.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/cortex/gic_v2m.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/cortex/gicv3_its.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/fdt/pcihost_fdt.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/gemini/gemini_pci.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/arm/include/pci_machdep.h
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/arm/marvell/pci_machdep.c
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/nvidia/tegra_pcie.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/pci/pci_msi_machdep.c \
    src/sys/arch/arm/pci/pci_msi_machdep.h
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/arm/pic/pic.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/arm/pic/picvar.h
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/arm/s3c2xx0/s3c2800_pci.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/arm/xscale/becc_pci.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/cp3100/cp3100_pci.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/hdl_g/hdlg_pci.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/evbarm/ifpga/ifpga_pci.c
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/evbarm/iq80310/iq80310_pci.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/evbarm/iq80321/iq80321_pci.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/evbarm/ixm1200/ixm1200_pci.c
cvs rdiff -u -r1.51 -r1.52 src/sys/dev/marvell/if_mvgbe.c
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/marvell/mvpex.c
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/marvell/mvpexvar.h

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/acpi/acpi_pci_machdep.c
diff -u src/sys/arch/arm/acpi/acpi_pci_machdep.c:1.7 src/sys/arch/arm/acpi/acpi_pci_machdep.c:1.8
--- src/sys/arch/arm/acpi/acpi_pci_machdep.c:1.7	Sat Nov  3 12:03:05 2018
+++ src/sys/arch/arm/acpi/acpi_pci_machdep.c	Fri Nov 16 15:06:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_pci_machdep.c,v 1.7 2018/11/03 12:03:05 jmcneill Exp $ */
+/* $NetBSD: acpi_pci_machdep.c,v 1.8 2018/11/16 15:06:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_pci_machdep.c,v 1.7 2018/11/03 12:03:05 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_pci_machdep.c,v 1.8 2018/11/16 15:06:21 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -88,7 +88,8 @@ static const struct evcnt *acpi_pci_md_i
 static int	acpi_pci_md_intr_setattr(void *, pci_intr_handle_t *, int,
 					uint64_t);
 static void *	acpi_pci_md_intr_establish(void *, pci_intr_handle_t,
-					 int, int (*)(void *), void *);
+					 int, int (*)(void *), void *,
+					 const char *);
 static void	acpi_pci_md_intr_disestablish(void *, void *);
 
 struct arm32_pci_chipset arm_acpi_pci_chipset = {
@@ -381,17 +382,17 @@ acpi_pci_md_intr_setattr(void *v, pci_in
 
 static void *
 acpi_pci_md_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*callback)(void *), void *arg)
+    int (*callback)(void *), void *arg, const char *xname)
 {
 	struct acpi_pci_context * const ap = v;
 
 	if ((ih & (ARM_PCI_INTR_MSI | ARM_PCI_INTR_MSIX)) != 0)
-		return arm_pci_msi_intr_establish(&ap->ap_pc, ih, ipl, callback, arg);
+		return arm_pci_msi_intr_establish(&ap->ap_pc, ih, ipl, callback, arg, xname);
 
 	const int irq = (int)__SHIFTOUT(ih, ARM_PCI_INTR_IRQ);
 	const int mpsafe = (ih & ARM_PCI_INTR_MPSAFE) ? IST_MPSAFE : 0;
 
-	return intr_establish(irq, ipl, IST_LEVEL | mpsafe, callback, arg);
+	return intr_establish_xname(irq, ipl, IST_LEVEL | mpsafe, callback, arg, xname);
 }
 
 static void

Index: src/sys/arch/arm/acpi/acpipchb.c
diff -u src/sys/arch/arm/acpi/acpipchb.c:1.3 src/sys/arch/arm/acpi/acpipchb.c:1.4
--- src/sys/arch/arm/acpi/acpipchb.c:1.3	Sun Oct 21 11:05:24 2018
+++ src/sys/arch/arm/acpi/acpipchb.c	Fri Nov 16 15:06:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: acpipchb.c,v 1.3 2018/10/21 11:05:24 jmcneill Exp $ */
+/* $NetBSD: acpipchb.c,v 1.4 2018/11/16 15:06:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpipchb.c,v 1.3 2018/10/21 11:05:24 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpipchb.c,v 1.4 2018/11/16 15:06:21 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -133,10 +133,10 @@ acpipchb_attach(device_t parent, device_
 	sc->sc_ap.ap_pc.pc_conf_v = &sc->sc_ap;
 	sc->sc_ap.ap_seg = seg;
 
-	if (acpi_pci_ignore_boot_config(sc->sc_handle)) {
+//	if (acpi_pci_ignore_boot_config(sc->sc_handle)) {
 		if (acpimcfg_configure_bus(self, &sc->sc_ap.ap_pc, sc->sc_handle, sc->sc_bus, PCIHOST_CACHELINE_SIZE) != 0)
 			aprint_error_dev(self, "failed to configure bus\n");
-	}
+//	}
 
 	memset(&pba, 0, sizeof(pba));
 	pba.pba_flags = aa->aa_pciflags;

Index: src/sys/arch/arm/broadcom/bcm53xx_pax.c
diff -u src/sys/arch/arm/broadcom/bcm53xx_pax.c:1.16 src/sys/arch/arm/broadcom/bcm53xx_pax.c:1.17
--- src/sys/arch/arm/broadcom/bcm53xx_pax.c:1.16	Mon Sep  3 16:29:23 2018
+++ src/sys/arch/arm/broadcom/bcm53xx_pax.c	Fri Nov 16 15:06:21 2018
@@ -34,7 +34,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: bcm53xx_pax.c,v 1.16 2018/09/03 16:29:23 riastradh Exp $");
+__KERNEL_RCSID(1, "$NetBSD: bcm53xx_pax.c,v 1.17 2018/11/16 15:06:21 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -117,7 +117,7 @@ static int bcmpax_intr_map(const struct 
 static const char *bcmpax_intr_string(void *, pci_intr_handle_t, char *, size_t);
 static const struct evcnt *bcmpax_intr_evcnt(void *, pci_intr_handle_t);
 static void *bcmpax_intr_establish(void *, pci_intr_handle_t, int,
-	   int (*)(void *), void *);
+	   int (*)(void *), void *, const char *);
 static void bcmpax_intr_disestablish(void *, void *);
 
 static int bcmpax_conf_hook(void *, int, int, int, pcireg_t);
@@ -570,7 +570,7 @@ bcmpax_intr_evcnt(void *v, pci_intr_hand
 
 static void *
 bcmpax_intr_establish(void *v, pci_intr_handle_t pih, int ipl,
-   int (*func)(void *), void *arg)
+   int (*func)(void *), void *arg, const char *xname)
 {
 	struct bcmpax_softc * const sc = v;
 

Index: src/sys/arch/arm/cortex/gic_v2m.c
diff -u src/sys/arch/arm/cortex/gic_v2m.c:1.3 src/sys/arch/arm/cortex/gic_v2m.c:1.4
--- src/sys/arch/arm/cortex/gic_v2m.c:1.3	Wed Oct 31 15:43:19 2018
+++ src/sys/arch/arm/cortex/gic_v2m.c	Fri Nov 16 15:06:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: gic_v2m.c,v 1.3 2018/10/31 15:43:19 jmcneill Exp $ */
+/* $NetBSD: gic_v2m.c,v 1.4 2018/11/16 15:06:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 #define _INTR_PRIVATE
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gic_v2m.c,v 1.3 2018/10/31 15:43:19 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gic_v2m.c,v 1.4 2018/11/16 15:06:21 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/kmem.h>
@@ -282,7 +282,7 @@ gic_v2m_msix_alloc(struct arm_pci_msi *m
 
 static void *
 gic_v2m_msi_intr_establish(struct arm_pci_msi *msi,
-    pci_intr_handle_t ih, int ipl, int (*func)(void *), void *arg)
+    pci_intr_handle_t ih, int ipl, int (*func)(void *), void *arg, const char *xname)
 {
 	struct gic_v2m_frame * const frame = msi->msi_priv;
 
@@ -290,7 +290,7 @@ gic_v2m_msi_intr_establish(struct arm_pc
 	const int mpsafe = (ih & ARM_PCI_INTR_MPSAFE) ? IST_MPSAFE : 0;
 
 	return pic_establish_intr(frame->frame_pic, spi, ipl,
-	    IST_EDGE | mpsafe, func, arg);
+	    IST_EDGE | mpsafe, func, arg, xname);
 }
 
 static void

Index: src/sys/arch/arm/cortex/gicv3_its.c
diff -u src/sys/arch/arm/cortex/gicv3_its.c:1.2 src/sys/arch/arm/cortex/gicv3_its.c:1.3
--- src/sys/arch/arm/cortex/gicv3_its.c:1.2	Sat Nov 10 11:46:31 2018
+++ src/sys/arch/arm/cortex/gicv3_its.c	Fri Nov 16 15:06:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: gicv3_its.c,v 1.2 2018/11/10 11:46:31 jmcneill Exp $ */
+/* $NetBSD: gicv3_its.c,v 1.3 2018/11/16 15:06:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 #define _INTR_PRIVATE
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gicv3_its.c,v 1.2 2018/11/10 11:46:31 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gicv3_its.c,v 1.3 2018/11/16 15:06:21 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/kmem.h>
@@ -520,7 +520,7 @@ gicv3_its_msix_alloc(struct arm_pci_msi 
 
 static void *
 gicv3_its_msi_intr_establish(struct arm_pci_msi *msi,
-    pci_intr_handle_t ih, int ipl, int (*func)(void *), void *arg)
+    pci_intr_handle_t ih, int ipl, int (*func)(void *), void *arg, const char *xname)
 {
 	struct gicv3_its * const its = msi->msi_priv;
 	const struct pci_attach_args *pa;
@@ -530,7 +530,7 @@ gicv3_its_msi_intr_establish(struct arm_
 	const int mpsafe = (ih & ARM_PCI_INTR_MPSAFE) ? IST_MPSAFE : 0;
 
 	intrh = pic_establish_intr(its->its_pic, lpi - its->its_pic->pic_irqbase, ipl,
-	    IST_EDGE | mpsafe, func, arg);
+	    IST_EDGE | mpsafe, func, arg, xname);
 	if (intrh == NULL)
 		return NULL;
 

Index: src/sys/arch/arm/fdt/pcihost_fdt.c
diff -u src/sys/arch/arm/fdt/pcihost_fdt.c:1.3 src/sys/arch/arm/fdt/pcihost_fdt.c:1.4
--- src/sys/arch/arm/fdt/pcihost_fdt.c:1.3	Sun Nov 11 21:24:38 2018
+++ src/sys/arch/arm/fdt/pcihost_fdt.c	Fri Nov 16 15:06:21 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pcihost_fdt.c,v 1.3 2018/11/11 21:24:38 jmcneill Exp $ */
+/* $NetBSD: pcihost_fdt.c,v 1.4 2018/11/16 15:06:21 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pcihost_fdt.c,v 1.3 2018/11/11 21:24:38 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pcihost_fdt.c,v 1.4 2018/11/16 15:06:21 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -122,7 +122,8 @@ const struct evcnt *pcihost_intr_evcnt(v
 static int	pcihost_intr_setattr(void *, pci_intr_handle_t *, int,
 					uint64_t);
 static void *	pcihost_intr_establish(void *, pci_intr_handle_t,
-					 int, int (*)(void *), void *);
+					 int, int (*)(void *), void *,
+					 const char *);
 static void	pcihost_intr_disestablish(void *, void *);
 
 CFATTACH_DECL_NEW(pcihost_fdt, sizeof(struct pcihost_softc),
@@ -573,7 +574,7 @@ pcihost_intr_setattr(void *v, pci_intr_h
 
 static void *
 pcihost_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*callback)(void *), void *arg)
+    int (*callback)(void *), void *arg, const char *xname)
 {
 	struct pcihost_softc *sc = v;
 	const int flags = (ih & IH_MPSAFE) ? FDT_INTR_MPSAFE : 0;
@@ -581,7 +582,7 @@ pcihost_intr_establish(void *v, pci_intr
 	int ihandle;
 
 	if ((ih & (ARM_PCI_INTR_MSI | ARM_PCI_INTR_MSIX)) != 0)
-		return arm_pci_msi_intr_establish(&sc->sc_pc, ih, ipl, callback, arg);
+		return arm_pci_msi_intr_establish(&sc->sc_pc, ih, ipl, callback, arg, xname);
 
 	specifier = pcihost_find_intr(sc, ih & IH_INDEX_MASK, &ihandle);
 	if (specifier == NULL)

Index: src/sys/arch/arm/gemini/gemini_pci.c
diff -u src/sys/arch/arm/gemini/gemini_pci.c:1.18 src/sys/arch/arm/gemini/gemini_pci.c:1.19
--- src/sys/arch/arm/gemini/gemini_pci.c:1.18	Fri Oct  2 05:22:50 2015
+++ src/sys/arch/arm/gemini/gemini_pci.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: gemini_pci.c,v 1.18 2015/10/02 05:22:50 msaitoh Exp $	*/
+/*	$NetBSD: gemini_pci.c,v 1.19 2018/11/16 15:06:22 jmcneill 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.18 2015/10/02 05:22:50 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gemini_pci.c,v 1.19 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include "opt_gemini.h"
 #include "opt_pci.h"
@@ -89,7 +89,7 @@ const char	*gemini_pci_intr_string(void 
 		    char *, size_t);
 const struct evcnt *gemini_pci_intr_evcnt(void *, pci_intr_handle_t);
 void		*gemini_pci_intr_establish(void *, pci_intr_handle_t,
-		    int, int (*)(void *), void *);
+		    int, int (*)(void *), void *, const char *);
 void		gemini_pci_intr_disestablish(void *, void *);
 int		gemini_pci_intr_handler(void *v);
 
@@ -388,7 +388,7 @@ gemini_pci_intr_evcnt(void *v, pci_intr_
 
 void *
 gemini_pci_intr_establish(void *v, pci_intr_handle_t pci_ih, int ipl,
-	int (*func)(void *), void *arg)
+	int (*func)(void *), void *arg, const char *xname)
 {
 	pcireg_t r;
 	void *ih=NULL;
@@ -402,8 +402,8 @@ gemini_pci_intr_establish(void *v, pci_i
 	gemini_pci_conf_write(v, 0, GEMINI_PCI_CFG_REG_CTL2, r);
 
 	if (gemini_pci_intrq_empty())
-		ih = intr_establish(irq, ipl, IST_LEVEL_HIGH,
-			gemini_pci_intr_handler, v);
+		ih = intr_establish_xname(irq, ipl, IST_LEVEL_HIGH,
+			gemini_pci_intr_handler, v, xname);
 
 	cookie = gemini_pci_intrq_insert(ih, func, arg);
 	if (cookie == NULL) {

Index: src/sys/arch/arm/include/pci_machdep.h
diff -u src/sys/arch/arm/include/pci_machdep.h:1.15 src/sys/arch/arm/include/pci_machdep.h:1.16
--- src/sys/arch/arm/include/pci_machdep.h:1.15	Fri Nov  2 15:01:18 2018
+++ src/sys/arch/arm/include/pci_machdep.h	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_machdep.h,v 1.15 2018/11/02 15:01:18 jmcneill Exp $	*/
+/*	$NetBSD: pci_machdep.h,v 1.16 2018/11/16 15:06:22 jmcneill Exp $	*/
 
 /*
  * Modified for arm32 by Mark Brinicombe
@@ -104,7 +104,7 @@ struct arm32_pci_chipset {
 	int		(*pc_intr_setattr)(void *, pci_intr_handle_t *,
 			    int, uint64_t);
 	void		*(*pc_intr_establish)(void *, pci_intr_handle_t,
-			    int, int (*)(void *), void *);
+			    int, int (*)(void *), void *, const char *);
 	void		(*pc_intr_disestablish)(void *, void *);
 
 #ifdef __HAVE_PCI_CONF_HOOK
@@ -159,7 +159,7 @@ struct arm32_pci_chipset {
 #define	pci_intr_evcnt(c, ih)						\
     (*(c)->pc_intr_evcnt)((c)->pc_intr_v, (ih))
 #define	pci_intr_establish(c, ih, l, h, a)				\
-    (*(c)->pc_intr_establish)((c)->pc_intr_v, (ih), (l), (h), (a))
+    (*(c)->pc_intr_establish)((c)->pc_intr_v, (ih), (l), (h), (a), NULL)
 #define	pci_intr_disestablish(c, iv)					\
     (*(c)->pc_intr_disestablish)((c)->pc_intr_v, (iv))
 #ifdef __HAVE_PCI_CONF_HOOK
@@ -178,6 +178,13 @@ pci_intr_setattr(pci_chipset_tag_t pc, p
 	return pc->pc_intr_setattr(pc, ihp, attr, data);
 }
 
+static inline void *
+pci_intr_establish_xname(pci_chipset_tag_t pc, pci_intr_handle_t ih,
+    int level, int (*func)(void *), void *arg, const char *xname)
+{
+	return pc->pc_intr_establish(pc->pc_intr_v, ih, level, func, arg, xname);
+}
+
 #ifdef __HAVE_PCI_MSI_MSIX
 pci_intr_type_t	pci_intr_type(pci_chipset_tag_t, pci_intr_handle_t);
 int	pci_intr_alloc(const struct pci_attach_args *, pci_intr_handle_t **,

Index: src/sys/arch/arm/marvell/pci_machdep.c
diff -u src/sys/arch/arm/marvell/pci_machdep.c:1.13 src/sys/arch/arm/marvell/pci_machdep.c:1.14
--- src/sys/arch/arm/marvell/pci_machdep.c:1.13	Sat Nov  3 17:26:41 2018
+++ src/sys/arch/arm/marvell/pci_machdep.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_machdep.c,v 1.13 2018/11/03 17:26:41 jmcneill Exp $	*/
+/*	$NetBSD: pci_machdep.c,v 1.14 2018/11/16 15:06:22 jmcneill 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.13 2018/11/03 17:26:41 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_machdep.c,v 1.14 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include "opt_mvsoc.h"
 #include "gtpci.h"
@@ -73,7 +73,7 @@ static int gtpci_gpp_intr_map(const stru
 static const char *gtpci_gpp_intr_string(void *, pci_intr_handle_t,
     char *, size_t);
 static const struct evcnt *gtpci_gpp_intr_evcnt(void *, pci_intr_handle_t);
-static void *gtpci_gpp_intr_establish(void *, pci_intr_handle_t, int, int (*)(void *), void *);
+static void *gtpci_gpp_intr_establish(void *, pci_intr_handle_t, int, int (*)(void *), void *, const char *);
 static void gtpci_gpp_intr_disestablish(void *, void *);
 
 struct arm32_pci_chipset arm32_gtpci_chipset = {
@@ -381,7 +381,7 @@ gtpci_gpp_intr_evcnt(void *v, pci_intr_h
 
 static void *
 gtpci_gpp_intr_establish(void *v, pci_intr_handle_t int_pin, int ipl,
-		         int (*intrhand)(void *), void *intrarg)
+		         int (*intrhand)(void *), void *intrarg, const char *xname)
 {
 	struct gtpci_softc *sc = v;
 	prop_array_t int2gpp;

Index: src/sys/arch/arm/nvidia/tegra_pcie.c
diff -u src/sys/arch/arm/nvidia/tegra_pcie.c:1.24 src/sys/arch/arm/nvidia/tegra_pcie.c:1.25
--- src/sys/arch/arm/nvidia/tegra_pcie.c:1.24	Sun Apr  1 04:35:04 2018
+++ src/sys/arch/arm/nvidia/tegra_pcie.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_pcie.c,v 1.24 2018/04/01 04:35:04 ryo Exp $ */
+/* $NetBSD: tegra_pcie.c,v 1.25 2018/11/16 15:06:22 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.24 2018/04/01 04:35:04 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_pcie.c,v 1.25 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -122,7 +122,8 @@ const struct evcnt *tegra_pcie_intr_evcn
 static int	tegra_pcie_intr_setattr(void *, pci_intr_handle_t *, int,
 					uint64_t);
 static void *	tegra_pcie_intr_establish(void *, pci_intr_handle_t,
-					 int, int (*)(void *), void *);
+					 int, int (*)(void *), void *,
+					 const char *);
 static void	tegra_pcie_intr_disestablish(void *, void *);
 
 CFATTACH_DECL_NEW(tegra_pcie, sizeof(struct tegra_pcie_softc),
@@ -770,7 +771,7 @@ tegra_pcie_intr_setattr(void *v, pci_int
 
 static void *
 tegra_pcie_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*callback)(void *), void *arg)
+    int (*callback)(void *), void *arg, const char *xname)
 {
 	struct tegra_pcie_softc *sc = v;
 	struct tegra_pcie_ih *pcie_ih;

Index: src/sys/arch/arm/pci/pci_msi_machdep.c
diff -u src/sys/arch/arm/pci/pci_msi_machdep.c:1.2 src/sys/arch/arm/pci/pci_msi_machdep.c:1.3
--- src/sys/arch/arm/pci/pci_msi_machdep.c:1.2	Wed Oct 31 15:42:17 2018
+++ src/sys/arch/arm/pci/pci_msi_machdep.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_msi_machdep.c,v 1.2 2018/10/31 15:42:17 jmcneill Exp $ */
+/* $NetBSD: pci_msi_machdep.c,v 1.3 2018/11/16 15:06:22 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_msi_machdep.c,v 1.2 2018/10/31 15:42:17 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_msi_machdep.c,v 1.3 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include <sys/kernel.h>
 #include <sys/kmem.h>
@@ -117,7 +117,7 @@ arm_pci_msi_add(struct arm_pci_msi *msi)
 
 void *
 arm_pci_msi_intr_establish(pci_chipset_tag_t pc, pci_intr_handle_t pih,
-    int ipl, int (*func)(void *), void *arg)
+    int ipl, int (*func)(void *), void *arg, const char *xname)
 {
 	struct arm_pci_msi *msi;
 
@@ -125,7 +125,7 @@ arm_pci_msi_intr_establish(pci_chipset_t
 	if (msi == NULL)
 		return NULL;
 
-	return msi->msi_intr_establish(msi, pih, ipl, func, arg);
+	return msi->msi_intr_establish(msi, pih, ipl, func, arg, xname);
 }
 
 /*
Index: src/sys/arch/arm/pci/pci_msi_machdep.h
diff -u src/sys/arch/arm/pci/pci_msi_machdep.h:1.2 src/sys/arch/arm/pci/pci_msi_machdep.h:1.3
--- src/sys/arch/arm/pci/pci_msi_machdep.h:1.2	Wed Oct 31 15:42:17 2018
+++ src/sys/arch/arm/pci/pci_msi_machdep.h	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_msi_machdep.h,v 1.2 2018/10/31 15:42:17 jmcneill Exp $ */
+/* $NetBSD: pci_msi_machdep.h,v 1.3 2018/11/16 15:06:22 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -44,7 +44,7 @@ struct arm_pci_msi {
 	pci_intr_handle_t *	(*msi_alloc)(struct arm_pci_msi *, int *, const struct pci_attach_args *, bool);
 	pci_intr_handle_t *	(*msix_alloc)(struct arm_pci_msi *, u_int *, int *, const struct pci_attach_args *, bool);
 	void *			(*msi_intr_establish)(struct arm_pci_msi *,
-				    pci_intr_handle_t, int, int (*)(void *), void *);
+				    pci_intr_handle_t, int, int (*)(void *), void *, const char *);
 	void			(*msi_intr_release)(struct arm_pci_msi *,
 				    pci_intr_handle_t *, int);
 
@@ -53,6 +53,6 @@ struct arm_pci_msi {
 
 int	arm_pci_msi_add(struct arm_pci_msi *);
 void *	arm_pci_msi_intr_establish(pci_chipset_tag_t, pci_intr_handle_t,
-	    int, int (*)(void *), void *);
+	    int, int (*)(void *), void *, const char *);
 
 #endif /* !_ARM_PCI_MSI_MACHDEP_H */

Index: src/sys/arch/arm/pic/pic.c
diff -u src/sys/arch/arm/pic/pic.c:1.47 src/sys/arch/arm/pic/pic.c:1.48
--- src/sys/arch/arm/pic/pic.c:1.47	Tue Nov 13 20:24:48 2018
+++ src/sys/arch/arm/pic/pic.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: pic.c,v 1.47 2018/11/13 20:24:48 jmcneill Exp $	*/
+/*	$NetBSD: pic.c,v 1.48 2018/11/16 15:06:22 jmcneill Exp $	*/
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -33,7 +33,7 @@
 #include "opt_multiprocessor.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pic.c,v 1.47 2018/11/13 20:24:48 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pic.c,v 1.48 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -742,7 +742,7 @@ pic_percpu_evcnt_attach(void *v0, void *
 
 void *
 pic_establish_intr(struct pic_softc *pic, int irq, int ipl, int type,
-	int (*func)(void *), void *arg)
+	int (*func)(void *), void *arg, const char *xname)
 {
 	struct intrsource *is;
 	int off, nipl;
@@ -819,6 +819,14 @@ unblock:
 	(*pic->pic_ops->pic_unblock_irqs)(pic, is->is_irq & ~0x1f,
 	    __BIT(is->is_irq & 0x1f));
 
+	if (xname) {
+		if (is->is_xname == NULL)
+			is->is_xname = kmem_zalloc(INTRDEVNAMEBUF, KM_SLEEP);
+		if (is->is_xname[0] != '\0')
+			strlcat(is->is_xname, ", ", INTRDEVNAMEBUF);
+		strlcat(is->is_xname, xname, INTRDEVNAMEBUF);
+	}
+
 	/* We're done. */
 	return is;
 }
@@ -844,6 +852,10 @@ pic_disestablish_source(struct intrsourc
 	(*pic->pic_ops->pic_block_irqs)(pic, irq & ~0x1f, __BIT(irq & 0x1f));
 	pic->pic_sources[irq] = NULL;
 	pic__iplsources[pic_ipl_offset[is->is_ipl] + is->is_iplidx] = NULL;
+	if (is->is_xname != NULL) {
+		kmem_free(is->is_xname, INTRDEVNAMEBUF);
+		is->is_xname = NULL;
+	}
 	/*
 	 * Now detach the per-cpu evcnts.
 	 */
@@ -855,6 +867,13 @@ pic_disestablish_source(struct intrsourc
 void *
 intr_establish(int irq, int ipl, int type, int (*func)(void *), void *arg)
 {
+	return intr_establish_xname(irq, ipl, type, func, arg, NULL);
+}
+
+void *
+intr_establish_xname(int irq, int ipl, int type, int (*func)(void *), void *arg,
+    const char *xname)
+{
 	KASSERT(!cpu_intr_p());
 	KASSERT(!cpu_softintr_p());
 
@@ -865,7 +884,7 @@ intr_establish(int irq, int ipl, int typ
 		if (pic->pic_irqbase <= irq
 		    && irq < pic->pic_irqbase + pic->pic_maxsources) {
 			return pic_establish_intr(pic, irq - pic->pic_irqbase,
-			    ipl, type, func, arg);
+			    ipl, type, func, arg, xname);
 		}
 	}
 
@@ -1000,7 +1019,15 @@ interrupt_get_available(kcpuset_t *cpuse
 void
 interrupt_get_devname(const char *intrid, char *buf, size_t len)
 {
-	buf[0] = '\0';
+	struct intrsource *is;
+
+	mutex_enter(&cpu_lock);
+	is = intr_get_source(intrid);
+	if (is == NULL || is->is_xname == NULL)
+		buf[0] = '\0';
+	else
+		strlcpy(buf, is->is_xname, len);
+	mutex_exit(&cpu_lock);
 }
 
 struct interrupt_get_count_arg {

Index: src/sys/arch/arm/pic/picvar.h
diff -u src/sys/arch/arm/pic/picvar.h:1.21 src/sys/arch/arm/pic/picvar.h:1.22
--- src/sys/arch/arm/pic/picvar.h:1.21	Fri Nov  9 23:34:20 2018
+++ src/sys/arch/arm/pic/picvar.h	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: picvar.h,v 1.21 2018/11/09 23:34:20 jmcneill Exp $	*/
+/*	$NetBSD: picvar.h,v 1.22 2018/11/16 15:06:22 jmcneill Exp $	*/
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -75,7 +75,7 @@ uint32_t pic_mark_pending_sources(struct
 	    uint32_t pending);
 #endif /* __HAVE_PIC_PENDING_INTRS */
 void	*pic_establish_intr(struct pic_softc *pic, int irq, int ipl, int type,
-	    int (*func)(void *), void *arg);
+	    int (*func)(void *), void *arg, const char *);
 int	pic_alloc_irq(struct pic_softc *pic);
 void	pic_disestablish_source(struct intrsource *is);
 #ifdef MULTIPROCESSOR
@@ -87,6 +87,8 @@ void	pic_dispatch(struct intrsource *is,
 
 void	*intr_establish(int irq, int ipl, int type, int (*func)(void *),
 	    void *arg);
+void	*intr_establish_xname(int irq, int ipl, int type, int (*func)(void *),
+	    void *arg, const char *xname);
 void	intr_disestablish(void *);
 const char *intr_string(intr_handle_t, char *, size_t);
 #ifdef MULTIPROCESSOR
@@ -121,6 +123,7 @@ struct intrsource {
 	uint8_t is_iplidx;
 	bool is_mpsafe;
 	char is_source[16];
+	char *is_xname;
 };
 
 struct pic_percpu {

Index: src/sys/arch/arm/s3c2xx0/s3c2800_pci.c
diff -u src/sys/arch/arm/s3c2xx0/s3c2800_pci.c:1.24 src/sys/arch/arm/s3c2xx0/s3c2800_pci.c:1.25
--- src/sys/arch/arm/s3c2xx0/s3c2800_pci.c:1.24	Thu Nov  8 06:49:09 2018
+++ src/sys/arch/arm/s3c2xx0/s3c2800_pci.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: s3c2800_pci.c,v 1.24 2018/11/08 06:49:09 skrll Exp $	*/
+/*	$NetBSD: s3c2800_pci.c,v 1.25 2018/11/16 15:06:22 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2002 Fujitsu Component Limited
@@ -100,7 +100,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: s3c2800_pci.c,v 1.24 2018/11/08 06:49:09 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: s3c2800_pci.c,v 1.25 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include "opt_pci.h"
 #include "pci.h"
@@ -152,7 +152,7 @@ int	s3c2800_pci_intr_map(const struct pc
 const char *s3c2800_pci_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *s3c2800_pci_intr_evcnt(void *, pci_intr_handle_t);
 void *s3c2800_pci_intr_establish(void *, pci_intr_handle_t, int,
-				  int (*) (void *), void *);
+				  int (*) (void *), void *, const char *);
 void	s3c2800_pci_intr_disestablish(void *, void *);
 
 #define	PCI_CONF_LOCK(s)	(s) = disable_interrupts(I32_bit)
@@ -515,7 +515,7 @@ s3c2800_pci_conf_write(void *v, pcitag_t
 
 void *
 s3c2800_pci_intr_establish(void *pcv, pci_intr_handle_t ih, int level,
-			   int (*func) (void *), void *arg)
+			   int (*func) (void *), void *arg, const char *xname)
 {
 	struct sspci_softc *sc = pcv;
 	struct sspci_irq_handler *handler;
@@ -523,7 +523,7 @@ s3c2800_pci_intr_establish(void *pcv, pc
 
 #ifdef PCI_DEBUG
 	printf("s3c2800_pci_intr_establish(pcv=%p, ih=0x%lx, level=%d, "
-	    "func=%p, arg=%p)\n", pcv, ih, level, func, arg);
+	    "func=%p, arg=%p, xname=%s)\n", pcv, ih, level, func, arg, xname);
 #endif
 
 	handler = malloc(sizeof *handler, M_DEVBUF, cold ? M_NOWAIT : M_WAITOK);

Index: src/sys/arch/arm/xscale/becc_pci.c
diff -u src/sys/arch/arm/xscale/becc_pci.c:1.18 src/sys/arch/arm/xscale/becc_pci.c:1.19
--- src/sys/arch/arm/xscale/becc_pci.c:1.18	Fri Oct  2 05:22:50 2015
+++ src/sys/arch/arm/xscale/becc_pci.c	Fri Nov 16 15:06:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: becc_pci.c,v 1.18 2015/10/02 05:22:50 msaitoh Exp $	*/
+/*	$NetBSD: becc_pci.c,v 1.19 2018/11/16 15:06:22 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: becc_pci.c,v 1.18 2015/10/02 05:22:50 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: becc_pci.c,v 1.19 2018/11/16 15:06:22 jmcneill Exp $");
 
 #include "opt_pci.h"
 #include "pci.h"
@@ -80,7 +80,7 @@ const char	*becc_pci_intr_string(void *,
 		    char *, size_t);
 const struct evcnt *becc_pci_intr_evcnt(void *, pci_intr_handle_t);
 void		*becc_pci_intr_establish(void *, pci_intr_handle_t,
-		    int, int (*)(void *), void *);
+		    int, int (*)(void *), void *, const char *);
 void		becc_pci_intr_disestablish(void *, void *);
 
 #define	PCI_CONF_LOCK(s)	(s) = disable_interrupts(I32_bit)
@@ -394,7 +394,7 @@ becc_pci_intr_evcnt(void *v, pci_intr_ha
 
 void *
 becc_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*func)(void *), void *arg)
+    int (*func)(void *), void *arg, const char *xname)
 {
 
 	return (becc_intr_establish(ih, ipl, func, arg));

Index: src/sys/arch/evbarm/cp3100/cp3100_pci.c
diff -u src/sys/arch/evbarm/cp3100/cp3100_pci.c:1.4 src/sys/arch/evbarm/cp3100/cp3100_pci.c:1.5
--- src/sys/arch/evbarm/cp3100/cp3100_pci.c:1.4	Sat Mar 29 19:28:27 2014
+++ src/sys/arch/evbarm/cp3100/cp3100_pci.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: cp3100_pci.c,v 1.4 2014/03/29 19:28:27 christos Exp $	*/
+/*	$NetBSD: cp3100_pci.c,v 1.5 2018/11/16 15:06:23 jmcneill Exp $	*/
 
 /*
  * Copyright 2006 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cp3100_pci.c,v 1.4 2014/03/29 19:28:27 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cp3100_pci.c,v 1.5 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -63,7 +63,7 @@ int	iq80321_pci_intr_map(const struct pc
 const char *iq80321_pci_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *iq80321_pci_intr_evcnt(void *, pci_intr_handle_t);
 void	*iq80321_pci_intr_establish(void *, pci_intr_handle_t,
-	    int, int (*func)(void *), void *);
+	    int, int (*func)(void *), void *, const char *);
 void	iq80321_pci_intr_disestablish(void *, void *);
 
 void
@@ -148,7 +148,7 @@ iq80321_pci_intr_evcnt(void *v, pci_intr
 
 void *
 iq80321_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*func)(void *), void *arg)
+    int (*func)(void *), void *arg, const char *xname)
 {
 
 	return (i80321_intr_establish(ih, ipl, func, arg));

Index: src/sys/arch/evbarm/hdl_g/hdlg_pci.c
diff -u src/sys/arch/evbarm/hdl_g/hdlg_pci.c:1.4 src/sys/arch/evbarm/hdl_g/hdlg_pci.c:1.5
--- src/sys/arch/evbarm/hdl_g/hdlg_pci.c:1.4	Sat Mar 29 19:28:27 2014
+++ src/sys/arch/evbarm/hdl_g/hdlg_pci.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: hdlg_pci.c,v 1.4 2014/03/29 19:28:27 christos Exp $	*/
+/*	$NetBSD: hdlg_pci.c,v 1.5 2018/11/16 15:06:23 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hdlg_pci.c,v 1.4 2014/03/29 19:28:27 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdlg_pci.c,v 1.5 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -58,7 +58,7 @@ int	hdlg_pci_intr_map(const struct pci_a
 const char *hdlg_pci_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *hdlg_pci_intr_evcnt(void *, pci_intr_handle_t);
 void	*hdlg_pci_intr_establish(void *, pci_intr_handle_t,
-	    int, int (*func)(void *), void *);
+	    int, int (*func)(void *), void *, const char *);
 void	hdlg_pci_intr_disestablish(void *, void *);
 
 void
@@ -156,7 +156,7 @@ hdlg_pci_intr_evcnt(void *v, pci_intr_ha
 
 void *
 hdlg_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*func)(void *), void *arg)
+    int (*func)(void *), void *arg, const char *xname)
 {
 
 	return i80321_intr_establish(ih, ipl, func, arg);

Index: src/sys/arch/evbarm/ifpga/ifpga_pci.c
diff -u src/sys/arch/evbarm/ifpga/ifpga_pci.c:1.23 src/sys/arch/evbarm/ifpga/ifpga_pci.c:1.24
--- src/sys/arch/evbarm/ifpga/ifpga_pci.c:1.23	Thu Nov  8 06:49:09 2018
+++ src/sys/arch/evbarm/ifpga/ifpga_pci.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ifpga_pci.c,v 1.23 2018/11/08 06:49:09 skrll Exp $	*/
+/*	$NetBSD: ifpga_pci.c,v 1.24 2018/11/16 15:06:23 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2001 ARM Ltd
@@ -64,7 +64,7 @@
 #define _ARM32_BUS_DMA_PRIVATE
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ifpga_pci.c,v 1.23 2018/11/08 06:49:09 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ifpga_pci.c,v 1.24 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -98,7 +98,7 @@ int		ifpga_pci_intr_map (const struct pc
 const char	*ifpga_pci_intr_string (void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *ifpga_pci_intr_evcnt (void *, pci_intr_handle_t);
 void		*ifpga_pci_intr_establish (void *, pci_intr_handle_t, int,
-		    int (*)(void *), void *);
+		    int (*)(void *), void *, const char *);
 void		ifpga_pci_intr_disestablish (void *, void *);
 
 struct arm32_pci_chipset ifpga_pci_chipset = {
@@ -355,13 +355,13 @@ ifpga_pci_intr_evcnt(void *pcv, pci_intr
 
 void *
 ifpga_pci_intr_establish(void *pcv, pci_intr_handle_t ih, int level,
-    int (*func) (void *), void *arg)
+    int (*func) (void *), void *arg, const char *xname)
 {
 	void *intr;
 
 #ifdef PCI_DEBUG
 	printf("ifpga_pci_intr_establish(pcv=%p, ih=0x%" PRIu64 ", level=%d, "
-	    "func=%p, arg=%p)\n", pcv, ih, level, func, arg);
+	    "func=%p, arg=%p, xname=%s)\n", pcv, ih, level, func, arg, xname);
 #endif
 
 	intr = ifpga_intr_establish(ih, level, func, arg);

Index: src/sys/arch/evbarm/iq80310/iq80310_pci.c
diff -u src/sys/arch/evbarm/iq80310/iq80310_pci.c:1.14 src/sys/arch/evbarm/iq80310/iq80310_pci.c:1.15
--- src/sys/arch/evbarm/iq80310/iq80310_pci.c:1.14	Tue Oct 23 08:38:18 2018
+++ src/sys/arch/evbarm/iq80310/iq80310_pci.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: iq80310_pci.c,v 1.14 2018/10/23 08:38:18 jmcneill Exp $	*/
+/*	$NetBSD: iq80310_pci.c,v 1.15 2018/11/16 15:06:23 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: iq80310_pci.c,v 1.14 2018/10/23 08:38:18 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: iq80310_pci.c,v 1.15 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -63,7 +63,7 @@ int	iq80310_pci_intr_map(const struct pc
 const char *iq80310_pci_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *iq80310_pci_intr_evcnt(void *, pci_intr_handle_t);
 void	*iq80310_pci_intr_establish(void *, pci_intr_handle_t,
-	    int, int (*func)(void *), void *);
+	    int, int (*func)(void *), void *, const char *);
 void	iq80310_pci_intr_disestablish(void *, void *);
 
 void
@@ -246,7 +246,7 @@ iq80310_pci_intr_evcnt(void *v, pci_intr
 
 void *
 iq80310_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*func)(void *), void *arg)
+    int (*func)(void *), void *arg, const char *xname)
 {
 
 	return (iq80310_intr_establish(ih, ipl, func, arg));

Index: src/sys/arch/evbarm/iq80321/iq80321_pci.c
diff -u src/sys/arch/evbarm/iq80321/iq80321_pci.c:1.9 src/sys/arch/evbarm/iq80321/iq80321_pci.c:1.10
--- src/sys/arch/evbarm/iq80321/iq80321_pci.c:1.9	Sat Mar 29 19:28:27 2014
+++ src/sys/arch/evbarm/iq80321/iq80321_pci.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: iq80321_pci.c,v 1.9 2014/03/29 19:28:27 christos Exp $	*/
+/*	$NetBSD: iq80321_pci.c,v 1.10 2018/11/16 15:06:23 jmcneill Exp $	*/
 
 /*
  * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: iq80321_pci.c,v 1.9 2014/03/29 19:28:27 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: iq80321_pci.c,v 1.10 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -65,7 +65,7 @@ int	iq80321_pci_intr_map(const struct pc
 const char *iq80321_pci_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *iq80321_pci_intr_evcnt(void *, pci_intr_handle_t);
 void	*iq80321_pci_intr_establish(void *, pci_intr_handle_t,
-	    int, int (*func)(void *), void *);
+	    int, int (*func)(void *), void *, const char *);
 void	iq80321_pci_intr_disestablish(void *, void *);
 
 void
@@ -157,7 +157,7 @@ iq80321_pci_intr_evcnt(void *v, pci_intr
 
 void *
 iq80321_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
-    int (*func)(void *), void *arg)
+    int (*func)(void *), void *arg, const char *xname)
 {
 
 	return (i80321_intr_establish(ih, ipl, func, arg));

Index: src/sys/arch/evbarm/ixm1200/ixm1200_pci.c
diff -u src/sys/arch/evbarm/ixm1200/ixm1200_pci.c:1.12 src/sys/arch/evbarm/ixm1200/ixm1200_pci.c:1.13
--- src/sys/arch/evbarm/ixm1200/ixm1200_pci.c:1.12	Tue Oct 23 08:38:18 2018
+++ src/sys/arch/evbarm/ixm1200/ixm1200_pci.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*      $NetBSD: ixm1200_pci.c,v 1.12 2018/10/23 08:38:18 jmcneill Exp $ */
+/*      $NetBSD: ixm1200_pci.c,v 1.13 2018/11/16 15:06:23 jmcneill Exp $ */
 #define PCI_DEBUG
 /*
  * Copyright (c) 2002, 2003
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ixm1200_pci.c,v 1.12 2018/10/23 08:38:18 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ixm1200_pci.c,v 1.13 2018/11/16 15:06:23 jmcneill Exp $");
 
 /*
  * IXM1200 PCI interrupt support.
@@ -56,7 +56,7 @@ int ixm1200_pci_intr_map(const struct pc
 const char *ixm1200_pci_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *ixm1200_pci_intr_evcnt(void *, pci_intr_handle_t);
 void *ixm1200_pci_intr_establish(void *, pci_intr_handle_t, int,
-	int (*func)(void *), void *);
+	int (*func)(void *), void *, const char *);
 void ixm1200_pci_intr_disestablish(void *, void *);
 
 void
@@ -103,11 +103,12 @@ ixm1200_pci_intr_evcnt(void *v, pci_intr
 }
 
 void *
-ixm1200_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl, int (*func)(void *), void *arg)
+ixm1200_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl, int (*func)(void *),
+    void *arg, const char *xname)
 {
 #ifdef PCI_DEBUG
-	printf("ixm1200_pci_intr_establish(v=%p, irq=%d, ipl=%d, func=%p, arg=%p)\n",
-		v, (int) ih, ipl, func, arg);
+	printf("ixm1200_pci_intr_establish(v=%p, irq=%d, ipl=%d, func=%p, arg=%p, xname=%s)\n",
+		v, (int) ih, ipl, func, arg, xname);
 #endif
 
 	return (ixp12x0_intr_establish(ih, ipl, func, arg));

Index: src/sys/dev/marvell/if_mvgbe.c
diff -u src/sys/dev/marvell/if_mvgbe.c:1.51 src/sys/dev/marvell/if_mvgbe.c:1.52
--- src/sys/dev/marvell/if_mvgbe.c:1.51	Mon Sep  3 16:29:31 2018
+++ src/sys/dev/marvell/if_mvgbe.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_mvgbe.c,v 1.51 2018/09/03 16:29:31 riastradh Exp $	*/
+/*	$NetBSD: if_mvgbe.c,v 1.52 2018/11/16 15:06:23 jmcneill Exp $	*/
 /*
  * Copyright (c) 2007, 2008, 2013 KIYOHARA Takashi
  * All rights reserved.
@@ -25,7 +25,7 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_mvgbe.c,v 1.51 2018/09/03 16:29:31 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_mvgbe.c,v 1.52 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include "opt_multiprocessor.h"
 
@@ -2053,7 +2053,7 @@ mvgbe_rxeof(struct mvgbe_softc *sc)
 		if (mvgbe_newbuf(sc, cur, NULL, dmamap) == ENOBUFS) {
 			struct mbuf *m0;
 
-			m0 = m_devget(mtod(m, char *), total_len, 0, ifp, NULL);
+			m0 = m_devget(mtod(m, char *), total_len, 0, ifp);
 			mvgbe_newbuf(sc, cur, m, dmamap);
 			if (m0 == NULL) {
 				aprint_error_ifnet(ifp,

Index: src/sys/dev/marvell/mvpex.c
diff -u src/sys/dev/marvell/mvpex.c:1.16 src/sys/dev/marvell/mvpex.c:1.17
--- src/sys/dev/marvell/mvpex.c:1.16	Fri Nov 27 00:08:43 2015
+++ src/sys/dev/marvell/mvpex.c	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: mvpex.c,v 1.16 2015/11/27 00:08:43 nonaka Exp $	*/
+/*	$NetBSD: mvpex.c,v 1.17 2018/11/16 15:06:23 jmcneill Exp $	*/
 /*
  * Copyright (c) 2008 KIYOHARA Takashi
  * All rights reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mvpex.c,v 1.16 2015/11/27 00:08:43 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mvpex.c,v 1.17 2018/11/16 15:06:23 jmcneill Exp $");
 
 #include "opt_pci.h"
 #include "pci.h"
@@ -659,7 +659,7 @@ mvpex_intr_evcnt(void *v, pci_intr_handl
 /* ARGSUSED */
 void *
 mvpex_intr_establish(void *v, pci_intr_handle_t pin, int ipl,
-		     int (*intrhand)(void *), void *intrarg)
+		     int (*intrhand)(void *), void *intrarg, const char *xname)
 {
 	struct mvpex_softc *sc = (struct mvpex_softc *)v;
 	struct mvpex_intrtab *intrtab;

Index: src/sys/dev/marvell/mvpexvar.h
diff -u src/sys/dev/marvell/mvpexvar.h:1.6 src/sys/dev/marvell/mvpexvar.h:1.7
--- src/sys/dev/marvell/mvpexvar.h:1.6	Wed Jun 24 10:00:37 2015
+++ src/sys/dev/marvell/mvpexvar.h	Fri Nov 16 15:06:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: mvpexvar.h,v 1.6 2015/06/24 10:00:37 knakahara Exp $	*/
+/*	$NetBSD: mvpexvar.h,v 1.7 2018/11/16 15:06:23 jmcneill Exp $	*/
 /*
  * Copyright (c) 2009 KIYOHARA Takashi
  * All rights reserved.
@@ -74,7 +74,7 @@ int mvpex_intr_map(const struct pci_atta
 const char *mvpex_intr_string(void *, pci_intr_handle_t, char *, size_t);
 const struct evcnt *mvpex_intr_evcnt(void *, pci_intr_handle_t);
 void *mvpex_intr_establish(void *, pci_intr_handle_t, int, int (*)(void *),
-			   void *);
+			   void *, const char *);
 void mvpex_intr_disestablish(void *, void *);
 #endif
 

Reply via email to