Module Name:    src
Committed By:   simonb
Date:           Fri Jun 19 02:23:43 UTC 2020

Modified Files:
        src/sys/arch/mips/cavium: octeon_intr.c
        src/sys/arch/mips/cavium/dev: octeon_ciureg.h octeon_dwctwo.c
            octeon_gmx.c octeon_ipd.c octeon_mpi.c octeon_pci.c octeon_pow.c
            octeon_uart.c

Log Message:
Simplify interrupt definition: remove mostly unused masks and just
configure everything using interrupt numbers.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/mips/cavium/octeon_intr.c
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/mips/cavium/dev/octeon_ciureg.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/mips/cavium/dev/octeon_dwctwo.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/mips/cavium/dev/octeon_gmx.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/mips/cavium/dev/octeon_ipd.c \
    src/sys/arch/mips/cavium/dev/octeon_mpi.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/mips/cavium/dev/octeon_pci.c
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/mips/cavium/dev/octeon_pow.c \
    src/sys/arch/mips/cavium/dev/octeon_uart.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/cavium/octeon_intr.c
diff -u src/sys/arch/mips/cavium/octeon_intr.c:1.11 src/sys/arch/mips/cavium/octeon_intr.c:1.12
--- src/sys/arch/mips/cavium/octeon_intr.c:1.11	Sun May 31 06:27:06 2020
+++ src/sys/arch/mips/cavium/octeon_intr.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_intr.c,v 1.11 2020/05/31 06:27:06 simonb Exp $	*/
+/*	$NetBSD: octeon_intr.c,v 1.12 2020/06/19 02:23:43 simonb Exp $	*/
 /*
  * Copyright 2001, 2002 Wasabi Systems, Inc.
  * All rights reserved.
@@ -45,7 +45,7 @@
 #define __INTR_PRIVATE
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_intr.c,v 1.11 2020/05/31 06:27:06 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_intr.c,v 1.12 2020/06/19 02:23:43 simonb Exp $");
 
 #include <sys/param.h>
 #include <sys/cpu.h>
@@ -163,13 +163,13 @@ struct octeon_intrhand ipi_intrhands[2] 
 	[0] = {
 		.ih_func = octeon_ipi_intr,
 		.ih_arg = (void *)(uintptr_t)__BITS(15,0),
-		.ih_irq = _CIU_INT_MBOX_15_0_SHIFT,
+		.ih_irq = CIU_INT_MBOX_15_0,
 		.ih_ipl = IPL_SCHED,
 	},
 	[1] = {
 		.ih_func = octeon_ipi_intr,
 		.ih_arg = (void *)(uintptr_t)__BITS(31,16),
-		.ih_irq = _CIU_INT_MBOX_31_16_SHIFT,
+		.ih_irq = CIU_INT_MBOX_31_16,
 		.ih_ipl = IPL_HIGH,
 	},
 };
@@ -177,8 +177,8 @@ struct octeon_intrhand ipi_intrhands[2] 
 
 struct octeon_intrhand *octciu_intrs[NIRQS] = {
 #ifdef MULTIPROCESSOR
-	[_CIU_INT_MBOX_15_0_SHIFT] = &ipi_intrhands[0],
-	[_CIU_INT_MBOX_31_16_SHIFT] = &ipi_intrhands[1],
+	[CIU_INT_MBOX_15_0] = &ipi_intrhands[0],
+	[CIU_INT_MBOX_31_16] = &ipi_intrhands[1],
 #endif
 };
 
@@ -212,6 +212,7 @@ struct cpu_softc octeon_cpu0_softc = {
 };
 
 #ifdef MULTIPROCESSOR
+/* XXX limit of two CPUs ... */
 struct cpu_softc octeon_cpu1_softc = {
 	.cpu_int0_sum0 = X(CIU_INT2_SUM0),
 	.cpu_int1_sum0 = X(CIU_INT3_SUM0),
@@ -227,7 +228,7 @@ struct cpu_softc octeon_cpu1_softc = {
 
 	.cpu_int32_en = X(CIU_INT32_EN1),
 
-	.cpu_wdog = X(CIU_WDOG1),
+	.cpu_wdog = X(CIU_WDOG(1)),
 	.cpu_pp_poke = X(CIU_PP_POKE1),
 
 	.cpu_mbox_set = X(CIU_MBOX_SET1),
@@ -245,8 +246,8 @@ octeon_mbox_test(void)
 	const uint64_t mbox_set1 = X(CIU_MBOX_SET1);
 	const uint64_t int_sum0 = X(CIU_INT0_SUM0);
 	const uint64_t int_sum1 = X(CIU_INT2_SUM0);
-	const uint64_t sum_mbox_lo = __BIT(_CIU_INT_MBOX_15_0_SHIFT);
-	const uint64_t sum_mbox_hi = __BIT(_CIU_INT_MBOX_31_16_SHIFT);
+	const uint64_t sum_mbox_lo = __BIT(CIU_INT_MBOX_15_0);
+	const uint64_t sum_mbox_hi = __BIT(CIU_INT_MBOX_31_16);
 
 	mips3_sd(mbox_clr0, ~0ULL);
 	mips3_sd(mbox_clr1, ~0ULL);
@@ -328,8 +329,8 @@ octeon_intr_init(struct cpu_info *ci)
 
 #ifdef MULTIPROCESSOR
 	// Enable the IPIs
-	cpu->cpu_int1_enable0 |= __BIT(_CIU_INT_MBOX_15_0_SHIFT);
-	cpu->cpu_int2_enable0 |= __BIT(_CIU_INT_MBOX_31_16_SHIFT);
+	cpu->cpu_int1_enable0 |= __BIT(CIU_INT_MBOX_15_0);
+	cpu->cpu_int2_enable0 |= __BIT(CIU_INT_MBOX_31_16);
 #endif
 
 	if (ci->ci_dev)

Index: src/sys/arch/mips/cavium/dev/octeon_ciureg.h
diff -u src/sys/arch/mips/cavium/dev/octeon_ciureg.h:1.6 src/sys/arch/mips/cavium/dev/octeon_ciureg.h:1.7
--- src/sys/arch/mips/cavium/dev/octeon_ciureg.h:1.6	Tue Jun  2 14:39:57 2020
+++ src/sys/arch/mips/cavium/dev/octeon_ciureg.h	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_ciureg.h,v 1.6 2020/06/02 14:39:57 simonb Exp $	*/
+/*	$NetBSD: octeon_ciureg.h,v 1.7 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -56,7 +56,7 @@
 #define	CIU_TIM2				UINT64_C(0x0001070000000490)
 #define	CIU_TIM3				UINT64_C(0x0001070000000498)
 #define	CIU_WDOG0				UINT64_C(0x0001070000000500)
-#define	CIU_WDOG1				UINT64_C(0x0001070000000508)
+#define	CIU_WDOG(n)				(CIU_WDOG0 + (n) * 8)
 #define	CIU_PP_POKE0				UINT64_C(0x0001070000000580)
 #define	CIU_PP_POKE1				UINT64_C(0x0001070000000588)
 #define	CIU_MBOX_SET0				UINT64_C(0x0001070000000600)
@@ -125,213 +125,89 @@
 
 /* ---- register bits */
 
-/* ``interrupt bits'' shift values */
+/* interrupt numbers */
 
-#define	_CIU_INT_XXX_63_SHIFT			0x3f
-#define	_CIU_INT_XXX_62_SHIFT			0x3e
-#define	_CIU_INT_XXX_61_SHIFT			0x3d
-#define	_CIU_INT_XXX_60_SHIFT			0x3c
-#define	_CIU_INT_XXX_59_SHIFT			0x3b
-#define	_CIU_INT_MPI_SHIFT			0x3a
-#define	_CIU_INT_PCM_SHIFT			0x39
-#define	_CIU_INT_USB_SHIFT			0x38
-#define	_CIU_INT_TIMER_3_SHIFT			0x37
-#define	_CIU_INT_TIMER_2_SHIFT			0x36
-#define	_CIU_INT_TIMER_1_SHIFT			0x35
-#define	_CIU_INT_TIMER_0_SHIFT			0x34
-#define	_CIU_INT_XXX_51_SHIFT			0x33
-#define	_CIU_INT_IPD_DRP_SHIFT			0x32
-#define	_CIU_INT_GMX_DRP_SHIFT			0x30
-#define	_CIU_INT_TRACE_SHIFT			0x2f
-#define	_CIU_INT_RML_SHIFT			0x2e
-#define	_CIU_INT_TWSI_SHIFT			0x2d
-#define	_CIU_INT_WDOG_SUM_SHIFT			0x2c
-#define	_CIU_INT_PCI_MSI_63_48_SHIFT		0x2b
-#define	_CIU_INT_PCI_MSI_47_32_SHIFT		0x2a
-#define	_CIU_INT_PCI_MSI_31_16_SHIFT		0x29
-#define	_CIU_INT_PCI_MSI_15_0_SHIFT		0x28
-#define	_CIU_INT_PCI_INT_D_SHIFT		0x27
-#define	_CIU_INT_PCI_INT_C_SHIFT		0x26
-#define	_CIU_INT_PCI_INT_B_SHIFT		0x25
-#define	_CIU_INT_PCI_INT_A_SHIFT		0x24
-#define	_CIU_INT_UART_1_SHIFT			0x23
-#define	_CIU_INT_UART_0_SHIFT			0x22
-#define	_CIU_INT_MBOX_31_16_SHIFT		0x21
-#define	_CIU_INT_MBOX_15_0_SHIFT		0x20
-#define	_CIU_INT_GPIO_15_SHIFT			0x1f
-#define	_CIU_INT_GPIO_14_SHIFT			0x1e
-#define	_CIU_INT_GPIO_13_SHIFT			0x1d
-#define	_CIU_INT_GPIO_12_SHIFT			0x1c
-#define	_CIU_INT_GPIO_11_SHIFT			0x1b
-#define	_CIU_INT_GPIO_10_SHIFT			0x1a
-#define	_CIU_INT_GPIO_9_SHIFT			0x19
-#define	_CIU_INT_GPIO_8_SHIFT			0x18
-#define	_CIU_INT_GPIO_7_SHIFT			0x17
-#define	_CIU_INT_GPIO_6_SHIFT			0x16
-#define	_CIU_INT_GPIO_5_SHIFT			0x15
-#define	_CIU_INT_GPIO_4_SHIFT			0x14
-#define	_CIU_INT_GPIO_3_SHIFT			0x13
-#define	_CIU_INT_GPIO_2_SHIFT			0x12
-#define	_CIU_INT_GPIO_1_SHIFT			0x11
-#define	_CIU_INT_GPIO_0_SHIFT			0x10
-#define	_CIU_INT_WORKQ_15_SHIFT			0x0f
-#define	_CIU_INT_WORKQ_14_SHIFT			0x0e
-#define	_CIU_INT_WORKQ_13_SHIFT			0x0d
-#define	_CIU_INT_WORKQ_12_SHIFT			0x0c
-#define	_CIU_INT_WORKQ_11_SHIFT			0x0b
-#define	_CIU_INT_WORKQ_10_SHIFT			0x0a
-#define	_CIU_INT_WORKQ_9_SHIFT			0x09
-#define	_CIU_INT_WORKQ_8_SHIFT			0x08
-#define	_CIU_INT_WORKQ_7_SHIFT			0x07
-#define	_CIU_INT_WORKQ_6_SHIFT			0x06
-#define	_CIU_INT_WORKQ_5_SHIFT			0x05
-#define	_CIU_INT_WORKQ_4_SHIFT			0x04
-#define	_CIU_INT_WORKQ_3_SHIFT			0x03
-#define	_CIU_INT_WORKQ_2_SHIFT			0x02
-#define	_CIU_INT_WORKQ_1_SHIFT			0x01
-#define	_CIU_INT_WORKQ_0_SHIFT			0x00
-
-#define	CIU_INTX_SUM0_XXX_63_59			UINT64_C(0xf800000000000000)
-#define	CIU_INTX_SUM0_MPI			UINT64_C(0x0400000000000000)
-#define	CIU_INTX_SUM0_PCM			UINT64_C(0x0200000000000000)
-#define	CIU_INTX_SUM0_USB			UINT64_C(0x0100000000000000)
-#define	CIU_INTX_SUM0_TIMER			UINT64_C(0x00f0000000000000)
-#define	 CIU_INTX_SUM0_TIMER_3			UINT64_C(0x0080000000000000)
-#define	 CIU_INTX_SUM0_TIMER_2			UINT64_C(0x0040000000000000)
-#define	 CIU_INTX_SUM0_TIMER_1			UINT64_C(0x0020000000000000)
-#define	 CIU_INTX_SUM0_TIMER_0			UINT64_C(0x0010000000000000)
-#define	CIU_INTX_SUM0_XXX_51			UINT64_C(0x0008000000000000)
-#define	CIU_INTX_SUM0_IPD_DRP			UINT64_C(0x0004000000000000)
-#define	CIU_INTX_SUM0_XXX_49			UINT64_C(0x0002000000000000)
-#define	CIU_INTX_SUM0_GMX_DRP			UINT64_C(0x0001000000000000)
-#define	CIU_INTX_SUM0_TRACE			UINT64_C(0x0000800000000000)
-#define	CIU_INTX_SUM0_RML			UINT64_C(0x0000400000000000)
-#define	CIU_INTX_SUM0_TWSI			UINT64_C(0x0000200000000000)
-#define	CIU_INTX_SUM0_WDOG_SUM			UINT64_C(0x0000100000000000)
-#define	CIU_INTX_SUM0_PCI_MSI			UINT64_C(0x00000f0000000000)
-#define	 CIU_INTX_SUM0_PCI_MSI_63_48		UINT64_C(0x0000080000000000)
-#define	 CIU_INTX_SUM0_PCI_MSI_47_32		UINT64_C(0x0000040000000000)
-#define	 CIU_INTX_SUM0_PCI_MSI_31_16		UINT64_C(0x0000020000000000)
-#define	 CIU_INTX_SUM0_PCI_MSI_15_0		UINT64_C(0x0000010000000000)
-#define	CIU_INTX_SUM0_PCI_INT			UINT64_C(0x000000f000000000)
-#define	 CIU_INTX_SUM0_PCI_INT_D		UINT64_C(0x0000008000000000)
-#define	 CIU_INTX_SUM0_PCI_INT_C		UINT64_C(0x0000004000000000)
-#define	 CIU_INTX_SUM0_PCI_INT_B		UINT64_C(0x0000002000000000)
-#define	 CIU_INTX_SUM0_PCI_INT_A		UINT64_C(0x0000001000000000)
-#define	CIU_INTX_SUM0_UART			UINT64_C(0x0000000c00000000)
-#define	 CIU_INTX_SUM0_UART_1			UINT64_C(0x0000000800000000)
-#define	 CIU_INTX_SUM0_UART_0			UINT64_C(0x0000000400000000)
-#define	CIU_INTX_SUM0_MBOX			UINT64_C(0x0000000300000000)
-#define	 CIU_INTX_SUM0_MBOX_31_16		UINT64_C(0x0000000200000000)
-#define	 CIU_INTX_SUM0_MBOX_15_0		UINT64_C(0x0000000100000000)
-#define	CIU_INTX_SUM0_GPIO			UINT64_C(0x00000000ffff0000)
-#define	 CIU_INTX_SUM0_GPIO_15			UINT64_C(0x0000000080000000)
-#define	 CIU_INTX_SUM0_GPIO_14			UINT64_C(0x0000000040000000)
-#define	 CIU_INTX_SUM0_GPIO_13			UINT64_C(0x0000000020000000)
-#define	 CIU_INTX_SUM0_GPIO_12			UINT64_C(0x0000000010000000)
-#define	 CIU_INTX_SUM0_GPIO_11			UINT64_C(0x0000000008000000)
-#define	 CIU_INTX_SUM0_GPIO_10			UINT64_C(0x0000000004000000)
-#define	 CIU_INTX_SUM0_GPIO_9			UINT64_C(0x0000000002000000)
-#define	 CIU_INTX_SUM0_GPIO_8			UINT64_C(0x0000000001000000)
-#define	 CIU_INTX_SUM0_GPIO_7			UINT64_C(0x0000000000800000)
-#define	 CIU_INTX_SUM0_GPIO_6			UINT64_C(0x0000000000400000)
-#define	 CIU_INTX_SUM0_GPIO_5			UINT64_C(0x0000000000200000)
-#define	 CIU_INTX_SUM0_GPIO_4			UINT64_C(0x0000000000100000)
-#define	 CIU_INTX_SUM0_GPIO_3			UINT64_C(0x0000000000080000)
-#define	 CIU_INTX_SUM0_GPIO_2			UINT64_C(0x0000000000040000)
-#define	 CIU_INTX_SUM0_GPIO_1			UINT64_C(0x0000000000020000)
-#define	 CIU_INTX_SUM0_GPIO_0			UINT64_C(0x0000000000010000)
-#define	CIU_INTX_SUM0_WORKQ			UINT64_C(0x000000000000ffff)
-#define	 CIU_INTX_SUM0_WORKQ_15			UINT64_C(0x0000000000008000)
-#define	 CIU_INTX_SUM0_WORKQ_14			UINT64_C(0x0000000000004000)
-#define	 CIU_INTX_SUM0_WORKQ_13			UINT64_C(0x0000000000002000)
-#define	 CIU_INTX_SUM0_WORKQ_12			UINT64_C(0x0000000000001000)
-#define	 CIU_INTX_SUM0_WORKQ_11			UINT64_C(0x0000000000000800)
-#define	 CIU_INTX_SUM0_WORKQ_10			UINT64_C(0x0000000000000400)
-#define	 CIU_INTX_SUM0_WORKQ_9			UINT64_C(0x0000000000000200)
-#define	 CIU_INTX_SUM0_WORKQ_8			UINT64_C(0x0000000000000100)
-#define	 CIU_INTX_SUM0_WORKQ_7			UINT64_C(0x0000000000000080)
-#define	 CIU_INTX_SUM0_WORKQ_6			UINT64_C(0x0000000000000040)
-#define	 CIU_INTX_SUM0_WORKQ_5			UINT64_C(0x0000000000000020)
-#define	 CIU_INTX_SUM0_WORKQ_4			UINT64_C(0x0000000000000010)
-#define	 CIU_INTX_SUM0_WORKQ_3			UINT64_C(0x0000000000000008)
-#define	 CIU_INTX_SUM0_WORKQ_2			UINT64_C(0x0000000000000004)
-#define	 CIU_INTX_SUM0_WORKQ_1			UINT64_C(0x0000000000000002)
-#define	 CIU_INTX_SUM0_WORKQ_0			UINT64_C(0x0000000000000001)
-
-#define	CIU_INT_SUM1_XXX_63_1			UINT64_C(0xfffffffffffffffe)
-#define	CIU_INT_SUM1_WDOG			UINT64_C(0x0000000000000001)
-
-#define	CIU_INTX_EN0_XXX_63_59			UINT64_C(0xf800000000000000)
-#define	CIU_INTX_EN0_MPI			UINT64_C(0x0400000000000000)
-#define	CIU_INTX_EN0_PCM			UINT64_C(0x0200000000000000)
-#define	CIU_INTX_EN0_USB			UINT64_C(0x0100000000000000)
-#define	CIU_INTX_EN0_TIMER			UINT64_C(0x00f0000000000000)
-#define	 CIU_INTX_EN0_TIMER_3			UINT64_C(0x0080000000000000)
-#define	 CIU_INTX_EN0_TIMER_2			UINT64_C(0x0040000000000000)
-#define	 CIU_INTX_EN0_TIMER_1			UINT64_C(0x0020000000000000)
-#define	 CIU_INTX_EN0_TIMER_0			UINT64_C(0x0010000000000000)
-#define	CIU_INTX_EN0_XXX_51			UINT64_C(0x0008000000000000)
-#define	CIU_INTX_EN0_IPD_DRP			UINT64_C(0x0004000000000000)
-#define	CIU_INTX_EN0_XXX_49			UINT64_C(0x0002000000000000)
-#define	CIU_INTX_EN0_GMX_DRP			UINT64_C(0x0001000000000000)
-#define	CIU_INTX_EN0_TRACE			UINT64_C(0x0000800000000000)
-#define	CIU_INTX_EN0_RML			UINT64_C(0x0000400000000000)
-#define	CIU_INTX_EN0_TWSI			UINT64_C(0x0000200000000000)
-#define	CIU_INTX_EN0_WDOG_SUM			UINT64_C(0x0000100000000000)
-#define	CIU_INTX_EN0_PCI_MSI			UINT64_C(0x00000f0000000000)
-#define	 CIU_INTX_EN0_PCI_MSI_63_48		UINT64_C(0x0000080000000000)
-#define	 CIU_INTX_EN0_PCI_MSI_47_32		UINT64_C(0x0000040000000000)
-#define	 CIU_INTX_EN0_PCI_MSI_31_16		UINT64_C(0x0000020000000000)
-#define	 CIU_INTX_EN0_PCI_MSI_15_0		UINT64_C(0x0000010000000000)
-#define	CIU_INTX_EN0_PCI_INT			UINT64_C(0x000000f000000000)
-#define	 CIU_INTX_EN0_PCI_INT_D			UINT64_C(0x0000008000000000)
-#define	 CIU_INTX_EN0_PCI_INT_C			UINT64_C(0x0000004000000000)
-#define	 CIU_INTX_EN0_PCI_INT_B			UINT64_C(0x0000002000000000)
-#define	 CIU_INTX_EN0_PCI_INT_A			UINT64_C(0x0000001000000000)
-#define	CIU_INTX_EN0_UART			UINT64_C(0x0000000c00000000)
-#define	 CIU_INTX_EN0_UART_1			UINT64_C(0x0000000800000000)
-#define	 CIU_INTX_EN0_UART_0			UINT64_C(0x0000000400000000)
-#define	CIU_INTX_EN0_MBOX			UINT64_C(0x0000000300000000)
-#define	 CIU_INTX_EN0_MBOX_31_16		UINT64_C(0x0000000200000000)
-#define	 CIU_INTX_EN0_MBOX_15_0			UINT64_C(0x0000000100000000)
-#define	CIU_INTX_EN0_GPIO			UINT64_C(0x00000000ffff0000)
-#define	 CIU_INTX_EN0_GPIO_15			UINT64_C(0x0000000080000000)
-#define	 CIU_INTX_EN0_GPIO_14			UINT64_C(0x0000000040000000)
-#define	 CIU_INTX_EN0_GPIO_13			UINT64_C(0x0000000020000000)
-#define	 CIU_INTX_EN0_GPIO_12			UINT64_C(0x0000000010000000)
-#define	 CIU_INTX_EN0_GPIO_11			UINT64_C(0x0000000008000000)
-#define	 CIU_INTX_EN0_GPIO_10			UINT64_C(0x0000000004000000)
-#define	 CIU_INTX_EN0_GPIO_9			UINT64_C(0x0000000002000000)
-#define	 CIU_INTX_EN0_GPIO_8			UINT64_C(0x0000000001000000)
-#define	 CIU_INTX_EN0_GPIO_7			UINT64_C(0x0000000000800000)
-#define	 CIU_INTX_EN0_GPIO_6			UINT64_C(0x0000000000400000)
-#define	 CIU_INTX_EN0_GPIO_5			UINT64_C(0x0000000000200000)
-#define	 CIU_INTX_EN0_GPIO_4			UINT64_C(0x0000000000100000)
-#define	 CIU_INTX_EN0_GPIO_3			UINT64_C(0x0000000000080000)
-#define	 CIU_INTX_EN0_GPIO_2			UINT64_C(0x0000000000040000)
-#define	 CIU_INTX_EN0_GPIO_1			UINT64_C(0x0000000000020000)
-#define	 CIU_INTX_EN0_GPIO_0			UINT64_C(0x0000000000010000)
-#define	CIU_INTX_EN0_WORKQ			UINT64_C(0x000000000000ffff)
-#define	 CIU_INTX_EN0_WORKQ_15			UINT64_C(0x0000000000008000)
-#define	 CIU_INTX_EN0_WORKQ_14			UINT64_C(0x0000000000004000)
-#define	 CIU_INTX_EN0_WORKQ_13			UINT64_C(0x0000000000002000)
-#define	 CIU_INTX_EN0_WORKQ_12			UINT64_C(0x0000000000001000)
-#define	 CIU_INTX_EN0_WORKQ_11			UINT64_C(0x0000000000000800)
-#define	 CIU_INTX_EN0_WORKQ_10			UINT64_C(0x0000000000000400)
-#define	 CIU_INTX_EN0_WORKQ_9			UINT64_C(0x0000000000000200)
-#define	 CIU_INTX_EN0_WORKQ_8			UINT64_C(0x0000000000000100)
-#define	 CIU_INTX_EN0_WORKQ_7			UINT64_C(0x0000000000000080)
-#define	 CIU_INTX_EN0_WORKQ_6			UINT64_C(0x0000000000000040)
-#define	 CIU_INTX_EN0_WORKQ_5			UINT64_C(0x0000000000000020)
-#define	 CIU_INTX_EN0_WORKQ_4			UINT64_C(0x0000000000000010)
-#define	 CIU_INTX_EN0_WORKQ_3			UINT64_C(0x0000000000000008)
-#define	 CIU_INTX_EN0_WORKQ_2			UINT64_C(0x0000000000000004)
-#define	 CIU_INTX_EN0_WORKQ_1			UINT64_C(0x0000000000000002)
-#define	 CIU_INTX_EN0_WORKQ_0			UINT64_C(0x0000000000000001)
-
-#define	CIU_INTX_EN1_XXX_63_1			UINT64_C(0xfffffffffffffffe)
-#define	CIU_INTX_EN1_WDOG			UINT64_C(0x0000000000000001)
+#define	CIU_INT_BOOTDMA				63
+#define	CIU_INT_MII				62
+#define	CIU_INT_IPDPPTHR			61
+#define	CIU_INT_POWIQ				60
+#define	CIU_INT_TWSI2				59
+#define	CIU_INT_MPI				58
+#define	CIU_INT_PCM				57
+#define	CIU_INT_USB				56
+#define	CIU_INT_TIMER_3				55
+#define	CIU_INT_TIMER_2				54
+#define	CIU_INT_TIMER_1				53
+#define	CIU_INT_TIMER_0				52
+#define	CIU_INT_KEY_ZERO			51
+#define	CIU_INT_IPD_DRP				50
+#define	CIU_INT_GMX_DRP2			49
+#define	CIU_INT_GMX_DRP				48
+#define	CIU_INT_TRACE				47
+#define	CIU_INT_RML				46
+#define	CIU_INT_TWSI				45
+#define	CIU_INT_WDOG_SUM			44
+#define	CIU_INT_PCI_MSI_63_48			43
+#define	CIU_INT_PCI_MSI_47_32			42
+#define	CIU_INT_PCI_MSI_31_16			41
+#define	CIU_INT_PCI_MSI_15_0			40
+#define	CIU_INT_PCI_INT_D			39
+#define	CIU_INT_PCI_INT_C			38
+#define	CIU_INT_PCI_INT_B			37
+#define	CIU_INT_PCI_INT_A			36
+#define	CIU_INT_UART_1				35
+#define	CIU_INT_UART_0				34
+#define	CIU_INT_MBOX_31_16			33
+#define	CIU_INT_MBOX_15_0			32
+#define	CIU_INT_GPIO_15				31
+#define	CIU_INT_GPIO_14				30
+#define	CIU_INT_GPIO_13				29
+#define	CIU_INT_GPIO_12				28
+#define	CIU_INT_GPIO_11				27
+#define	CIU_INT_GPIO_10				26
+#define	CIU_INT_GPIO_9				25
+#define	CIU_INT_GPIO_8				24
+#define	CIU_INT_GPIO_7				23
+#define	CIU_INT_GPIO_6				22
+#define	CIU_INT_GPIO_5				21
+#define	CIU_INT_GPIO_4				20
+#define	CIU_INT_GPIO_3				19
+#define	CIU_INT_GPIO_2				18
+#define	CIU_INT_GPIO_1				17
+#define	CIU_INT_GPIO_0				16
+#define	CIU_INT_WORKQ_15			15
+#define	CIU_INT_WORKQ_14			14
+#define	CIU_INT_WORKQ_13			13
+#define	CIU_INT_WORKQ_12			12
+#define	CIU_INT_WORKQ_11			11
+#define	CIU_INT_WORKQ_10			10
+#define	CIU_INT_WORKQ_9				 9
+#define	CIU_INT_WORKQ_8				 8
+#define	CIU_INT_WORKQ_7				 7
+#define	CIU_INT_WORKQ_6				 6
+#define	CIU_INT_WORKQ_5				 5
+#define	CIU_INT_WORKQ_4				 4
+#define	CIU_INT_WORKQ_3				 3
+#define	CIU_INT_WORKQ_2				 2
+#define	CIU_INT_WORKQ_1				 1
+#define	CIU_INT_WORKQ_0				 0
+
+#define	CUI_INT_WDOG_15				 15
+#define	CUI_INT_WDOG_14				 14
+#define	CUI_INT_WDOG_13				 13
+#define	CUI_INT_WDOG_12				 12
+#define	CUI_INT_WDOG_11				 11
+#define	CUI_INT_WDOG_10				 10
+#define	CUI_INT_WDOG_9				  9
+#define	CUI_INT_WDOG_8				  8
+#define	CUI_INT_WDOG_7				  7
+#define	CUI_INT_WDOG_6				  6
+#define	CUI_INT_WDOG_5				  5
+#define	CUI_INT_WDOG_4				  4
+#define	CUI_INT_WDOG_3				  3
+#define	CUI_INT_WDOG_2				  2
+#define	CUI_INT_WDOG_1				  1
+#define	CUI_INT_WDOG_0				  0
 
 #define	CIU_TIMX_XXX_63_37			UINT64_C(0xffffffe000000000)
 #define	CIU_TIMX_ONE_SHOT			UINT64_C(0x0000001000000000)
@@ -344,6 +220,10 @@
 #define	CIU_WDOGX_LEN				UINT64_C(0x00000000000ffff0)
 #define	CIU_WDOGX_STATE				UINT64_C(0x000000000000000c)
 #define	CIU_WDOGX_MODE				UINT64_C(0x0000000000000003)
+#define	  CIU_WDOGX_MODE_OFF			  0
+#define	  CIU_WDOGX_MODE_INTR			  1
+#define	  CIU_WDOGX_MODE_INTR_NMI		  2
+#define	  CIU_WDOGX_MODE_INTR_NMI_SOFT		  3
 
 #define	CIU_PP_POKEX_XXX_63_0			UINT64_C(0xffffffffffffffff)
 
@@ -353,27 +233,21 @@
 #define	CIU_MBOX_CLRX_XXX_63_32			UINT64_C(0xffffffff00000000)
 #define	CIU_MBOX_CLRX_CLR			UINT64_C(0x00000000ffffffff)
 
-#define	CIU_PP_RST_XXX_63_2			UINT64_C(0xfffffffffffffffc)
-#define	CIU_PP_RST_RST				UINT64_C(0x0000000000000002)
+#define	CIU_PP_RST_RST				UINT64_C(0x0000ffffffffffff)
 #define	CIU_PP_RST_RST0				UINT64_C(0x0000000000000001)
 
-#define	CIU_PP_DBG_XXX_63_1			UINT64_C(0xfffffffffffffffe)
-#define	CIU_PP_DBG_PPDBG			UINT64_C(0x0000000000000001)
+#define	CIU_PP_DBG_PPDBG			UINT64_C(0x0000ffffffffffff)
 
 #define	CIU_GSTOP_XXX_63_1			UINT64_C(0xfffffffffffffffe)
 #define	CIU_GSTOP_GSTOP				UINT64_C(0x0000000000000001)
 
-#define	CIU_NMI_XXX_63_2			UINT64_C(0xfffffffffffffffc)
-#define	CIU_NMI_NMI				UINT64_C(0x0000000000000003)
+#define	CIU_NMI_NMI				UINT64_C(0x0000ffffffffffff)
 
-#define	CIU_DINT_XXX_63_2			UINT64_C(0xfffffffffffffffc)
-#define	CIU_DINT_DINT				UINT64_C(0x0000000000000003)
+#define	CIU_DINT_DINT				UINT64_C(0x0000ffffffffffff)
 
-#define	CIU_FUSE_XXX_63_2			UINT64_C(0xfffffffffffffffc)
-#define	CIU_FUSE_FUSE				UINT64_C(0x0000000000000003)
+#define	CIU_FUSE_FUSE				UINT64_C(0x0000ffffffffffff)
 
-#define	CIU_BIST_XXX_63_4			UINT64_C(0xfffffffffffffff0)
-#define	CIU_BIST_BIST				UINT64_C(0x000000000000000f)
+#define	CIU_BIST_BIST				UINT64_C(0x0000ffffffffffff)
 
 #define	CIU_SOFT_BIST_XXX_63_1			UINT64_C(0xfffffffffffffffe)
 #define	CIU_SOFT_BIST_SOFT_BIST			UINT64_C(0x0000000000000001)

Index: src/sys/arch/mips/cavium/dev/octeon_dwctwo.c
diff -u src/sys/arch/mips/cavium/dev/octeon_dwctwo.c:1.10 src/sys/arch/mips/cavium/dev/octeon_dwctwo.c:1.11
--- src/sys/arch/mips/cavium/dev/octeon_dwctwo.c:1.10	Sun May 31 04:56:35 2020
+++ src/sys/arch/mips/cavium/dev/octeon_dwctwo.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_dwctwo.c,v 1.10 2020/05/31 04:56:35 simonb Exp $	*/
+/*	$NetBSD: octeon_dwctwo.c,v 1.11 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2015 Masao Uebayashi <[email protected]>
@@ -43,7 +43,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_dwctwo.c,v 1.10 2020/05/31 04:56:35 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_dwctwo.c,v 1.11 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"
 #include "opt_usb.h"
@@ -310,8 +310,7 @@ octeon_dwc2_attach(device_t parent, devi
 	sc->sc_dwc2.sc_child =
 	    config_found(sc->sc_dwc2.sc_dev, &sc->sc_dwc2.sc_bus, usbctlprint);
 
-	sc->sc_ih = octeon_intr_establish(ffs64(CIU_INTX_SUM0_USB) - 1,
-	    IPL_VM, dwc2_intr, sc);
+	sc->sc_ih = octeon_intr_establish(CIU_INT_USB, IPL_VM, dwc2_intr, sc);
 	if (sc->sc_ih == NULL)
 		panic("can't establish common interrupt\n");
 }

Index: src/sys/arch/mips/cavium/dev/octeon_gmx.c
diff -u src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.12 src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.13
--- src/sys/arch/mips/cavium/dev/octeon_gmx.c:1.12	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_gmx.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_gmx.c,v 1.12 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_gmx.c,v 1.13 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_gmx.c,v 1.12 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_gmx.c,v 1.13 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -239,9 +239,8 @@ octgmx_attach(device_t parent, device_t 
 #ifdef CNMAC_DEBUG
 	octgmx_intr_evcnt_attach(sc);
 	if (octgmx_intr_drop_ih == NULL)
-		octgmx_intr_drop_ih = octeon_intr_establish(
-		   ffs64(CIU_INTX_SUM0_GMX_DRP) - 1, IPL_NET,
-		   octgmx_intr_drop, NULL);
+		octgmx_intr_drop_ih = octeon_intr_establish(CIU_INT_GMX_DRP,
+		    IPL_NET, octgmx_intr_drop, NULL);
 #endif
 }
 

Index: src/sys/arch/mips/cavium/dev/octeon_ipd.c
diff -u src/sys/arch/mips/cavium/dev/octeon_ipd.c:1.4 src/sys/arch/mips/cavium/dev/octeon_ipd.c:1.5
--- src/sys/arch/mips/cavium/dev/octeon_ipd.c:1.4	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_ipd.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_ipd.c,v 1.4 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_ipd.c,v 1.5 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_ipd.c,v 1.4 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_ipd.c,v 1.5 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -96,9 +96,8 @@ octipd_init(struct octipd_attach_args *a
 	octipd_int_enable(sc, 1);
 	octipd_intr_evcnt_attach(sc);
 	if (octipd_intr_drop_ih == NULL)
-		octipd_intr_drop_ih = octeon_intr_establish(
-		   ffs64(CIU_INTX_SUM0_IPD_DRP) - 1, IPL_NET,
-		   octipd_intr_drop, NULL);
+		octipd_intr_drop_ih = octeon_intr_establish(CIU_INT_IPD_DRP,
+		    IPL_NET, octipd_intr_drop, NULL);
 	__octipd_softc[sc->sc_port] = sc;
 #endif /* CNMAC_DEBUG */
 }
Index: src/sys/arch/mips/cavium/dev/octeon_mpi.c
diff -u src/sys/arch/mips/cavium/dev/octeon_mpi.c:1.4 src/sys/arch/mips/cavium/dev/octeon_mpi.c:1.5
--- src/sys/arch/mips/cavium/dev/octeon_mpi.c:1.4	Sun May 31 06:27:06 2020
+++ src/sys/arch/mips/cavium/dev/octeon_mpi.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_mpi.c,v 1.4 2020/05/31 06:27:06 simonb Exp $	*/
+/*	$NetBSD: octeon_mpi.c,v 1.5 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -28,7 +28,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_mpi.c,v 1.4 2020/05/31 06:27:06 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_mpi.c,v 1.5 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -139,8 +139,7 @@ octmpi_attach(device_t parent, device_t 
 	octmpi_reg_wr(sc, MPI_CFG_OFFSET,
 	    (0x7d << MPI_CFG_CLKDIV_SHIFT) | MPI_CFG_CSENA | MPI_CFG_ENABLE | MPI_CFG_INT_ENA);
 	/* Enable device interrupts */
-	sc->sc_ih = octeon_intr_establish(ffs64(CIU_INTX_SUM0_MPI) - 1,
-		IPL_SERIAL, octmpi_intr, sc);
+	sc->sc_ih = octeon_intr_establish(CIU_INT_MPI, IPL_SERIAL, octmpi_intr, sc);
 	if (sc->sc_ih == NULL)
 		panic("l2sw: can't establish interrupt\n");
 #else

Index: src/sys/arch/mips/cavium/dev/octeon_pci.c
diff -u src/sys/arch/mips/cavium/dev/octeon_pci.c:1.3 src/sys/arch/mips/cavium/dev/octeon_pci.c:1.4
--- src/sys/arch/mips/cavium/dev/octeon_pci.c:1.3	Sun May 31 06:27:06 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pci.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pci.c,v 1.3 2020/05/31 06:27:06 simonb Exp $	*/
+/*	$NetBSD: octeon_pci.c,v 1.4 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007, 2008 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_pci.c,v 1.3 2020/05/31 06:27:06 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_pci.c,v 1.4 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -65,8 +65,8 @@ static void
 octpci_init(void)
 {
 #ifdef CNMAC_DEBUG
-	octpci_intr_rml_ih = octeon_intr_establish(
-	    ffs64(CIU_INTX_SUM0_RML) - 1, IPL_NET, octpci_intr_rml, NULL);
+	octpci_intr_rml_ih = octeon_intr_establish( CIU_INT_RML, IPL_NET,
+	    octpci_intr_rml, NULL);
 #endif
 }
 

Index: src/sys/arch/mips/cavium/dev/octeon_pow.c
diff -u src/sys/arch/mips/cavium/dev/octeon_pow.c:1.7 src/sys/arch/mips/cavium/dev/octeon_pow.c:1.8
--- src/sys/arch/mips/cavium/dev/octeon_pow.c:1.7	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_pow.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_pow.c,v 1.7 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_pow.c,v 1.8 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_pow.c,v 1.7 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_pow.c,v 1.8 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"	/* CNMAC_DEBUG */
 
@@ -313,7 +313,7 @@ octpow_intr_establish(int group, int lev
 
 	pow_ih = malloc(sizeof(*pow_ih), M_DEVBUF, M_WAITOK);
 	pow_ih->pi_ih = octeon_intr_establish(
-	    ffs64(CIU_INTX_SUM0_WORKQ_0) - 1 + group,
+	    CIU_INT_WORKQ_0 + group,
 	    level,
 	    octpow_intr, pow_ih);
 	KASSERT(pow_ih->pi_ih != NULL);
Index: src/sys/arch/mips/cavium/dev/octeon_uart.c
diff -u src/sys/arch/mips/cavium/dev/octeon_uart.c:1.7 src/sys/arch/mips/cavium/dev/octeon_uart.c:1.8
--- src/sys/arch/mips/cavium/dev/octeon_uart.c:1.7	Thu Jun 18 13:52:08 2020
+++ src/sys/arch/mips/cavium/dev/octeon_uart.c	Fri Jun 19 02:23:43 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: octeon_uart.c,v 1.7 2020/06/18 13:52:08 simonb Exp $	*/
+/*	$NetBSD: octeon_uart.c,v 1.8 2020/06/19 02:23:43 simonb Exp $	*/
 
 /*
  * Copyright (c) 2007 Internet Initiative Japan, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_uart.c,v 1.7 2020/06/18 13:52:08 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_uart.c,v 1.8 2020/06/19 02:23:43 simonb Exp $");
 
 #include "opt_octeon.h"
 
@@ -145,8 +145,7 @@ octuart_iobus_attach(device_t parent, de
 
 	com_attach_subr(sc_com);
 
-	/* XXX pass intr mask via _attach_args -- uebayasi */
-	sc->sc_ih = octeon_intr_establish(ffs64(CIU_INTX_SUM0_UART_0) - 1/* XXX */ + device_unit(self),
+	sc->sc_ih = octeon_intr_establish(CIU_INT_UART_0 + device_unit(self),
 	    IPL_SERIAL, comintr, sc_com);
 	if (sc->sc_ih == NULL)
 		panic("%s: can't establish interrupt\n",

Reply via email to