irqchip/apple-aic: Move PMU-specific registers to their own include file
authorMarc Zyngier <maz@kernel.org>
Wed, 3 Nov 2021 13:55:19 +0000 (13:55 +0000)
committerMarc Zyngier <maz@kernel.org>
Mon, 7 Feb 2022 16:00:42 +0000 (16:00 +0000)
As we are about to have a PMU driver, move the PMU bits from the AIC
driver into a common include file.

Reviewed-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Marc Zyngier <maz@kernel.org>
arch/arm64/include/asm/apple_m1_pmu.h [new file with mode: 0644]
drivers/irqchip/irq-apple-aic.c

diff --git a/arch/arm64/include/asm/apple_m1_pmu.h b/arch/arm64/include/asm/apple_m1_pmu.h
new file mode 100644 (file)
index 0000000..b848af7
--- /dev/null
@@ -0,0 +1,19 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#ifndef __ASM_APPLE_M1_PMU_h
+#define __ASM_APPLE_M1_PMU_h
+
+#include <linux/bits.h>
+#include <asm/sysreg.h>
+
+/* Core PMC control register */
+#define SYS_IMP_APL_PMCR0_EL1  sys_reg(3, 1, 15, 0, 0)
+#define PMCR0_IMODE            GENMASK(10, 8)
+#define PMCR0_IMODE_OFF                0
+#define PMCR0_IMODE_PMI                1
+#define PMCR0_IMODE_AIC                2
+#define PMCR0_IMODE_HALT       3
+#define PMCR0_IMODE_FIQ                4
+#define PMCR0_IACT             BIT(11)
+
+#endif /* __ASM_APPLE_M1_PMU_h */
index 873544e58676fbe2c8cc24570ce981dc0a8d5690..b40199c6625e3f14a8c61717f4da9676557b6c5a 100644 (file)
@@ -55,6 +55,7 @@
 #include <linux/limits.h>
 #include <linux/of_address.h>
 #include <linux/slab.h>
+#include <asm/apple_m1_pmu.h>
 #include <asm/exception.h>
 #include <asm/sysreg.h>
 #include <asm/virt.h>
  * Note: sysreg-based IPIs are not supported yet.
  */
 
-/* Core PMC control register */
-#define SYS_IMP_APL_PMCR0_EL1          sys_reg(3, 1, 15, 0, 0)
-#define PMCR0_IMODE                    GENMASK(10, 8)
-#define PMCR0_IMODE_OFF                        0
-#define PMCR0_IMODE_PMI                        1
-#define PMCR0_IMODE_AIC                        2
-#define PMCR0_IMODE_HALT               3
-#define PMCR0_IMODE_FIQ                        4
-#define PMCR0_IACT                     BIT(11)
-
 /* IPI request registers */
 #define SYS_IMP_APL_IPI_RR_LOCAL_EL1   sys_reg(3, 5, 15, 0, 0)
 #define SYS_IMP_APL_IPI_RR_GLOBAL_EL1  sys_reg(3, 5, 15, 0, 1)