From 3d41a21a35d3d0c8cd468d90b56648070f783877 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sat, 4 Jun 2022 12:57:40 +0200 Subject: [PATCH] ANDROID: irq-gic-v3: remove all out-of-tree changes There have been a lot of out-of-tree changes to the irq-gic-v3.c driver that never got merged upstream. But other changes have been merged upstream so resolving these merges has gotten way too complex. So drop all out-of-tree changes for now to make merges easier. If the out-of-tree changes really are needed, they can be added back later (after they are at least submitted upstream first.) Bug: 180471389 Bug: 190353898 Bug: 195914333 Bug: 168730134 Cc: Elliot Berman Cc: Maulik Shah Cc: Neeraj Upadhyay Signed-off-by: Greg Kroah-Hartman Change-Id: I97d8938fbe6c83911a4579695ff324ee4d83e7ef --- drivers/android/vendor_hooks.c | 5 ---- drivers/irqchip/irq-gic-v3.c | 39 ++---------------------------- include/linux/irqchip/arm-gic-v3.h | 2 -- include/trace/hooks/gic.h | 20 --------------- include/trace/hooks/gic_v3.h | 24 ------------------ 5 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 include/trace/hooks/gic.h delete mode 100644 include/trace/hooks/gic_v3.h diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index ecda113ce3dc..d4d7c4540d7f 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -15,12 +15,10 @@ #include #include #include -#include #include #include #include #include -#include #include #include #include @@ -68,15 +66,12 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_enter); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_cpu_idle_exit); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mpam_set); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_find_busiest_group); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_resume); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_wq_lockup_pool); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ipi_stop); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_sysrq_crash); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dump_throttled_rt_tasks); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_printk_hotplug); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_jiffies_update); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_v3_set_affinity); -EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_v3_affinity_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_suspend_epoch_val); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_resume_epoch_val); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_freq_table_limits); diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c index f561cc911e7d..b252d5534547 100644 --- a/drivers/irqchip/irq-gic-v3.c +++ b/drivers/irqchip/irq-gic-v3.c @@ -18,10 +18,6 @@ #include #include #include -#include -#include -#include - #include #include @@ -33,8 +29,6 @@ #include #include -#include - #include "irq-gic-common.h" #define GICD_INT_NMI_PRI (GICD_INT_DEF_PRI & ~0x80) @@ -736,7 +730,6 @@ static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs if (generic_handle_domain_irq(gic_data.domain, irqnr)) { WARN_ONCE(true, "Unexpected interrupt received!\n"); - log_abnormal_wakeup_reason("unexpected HW IRQ %u", irqnr); gic_deactivate_unhandled(irqnr); } } @@ -831,15 +824,11 @@ static void __init gic_dist_init(void) * enabled. */ affinity = gic_mpidr_to_affinity(cpu_logical_map(smp_processor_id())); - for (i = 32; i < GIC_LINE_NR; i++) { - trace_android_vh_gic_v3_affinity_init(i, GICD_IROUTER, &affinity); + for (i = 32; i < GIC_LINE_NR; i++) gic_write_irouter(affinity, base + GICD_IROUTER + i * 8); - } - for (i = 0; i < GIC_ESPI_NR; i++) { - trace_android_vh_gic_v3_affinity_init(i, GICD_IROUTERnE, &affinity); + for (i = 0; i < GIC_ESPI_NR; i++) gic_write_irouter(affinity, base + GICD_IROUTERnE + i * 8); - } } static int gic_iterate_rdists(int (*fn)(struct redist_region *, void __iomem *)) @@ -1287,7 +1276,6 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, reg = gic_dist_base(d) + offset + (index * 8); val = gic_mpidr_to_affinity(cpu_logical_map(cpu)); - trace_android_vh_gic_v3_set_affinity(d, mask_val, &val, force, gic_dist_base(d)); gic_write_irouter(val, reg); /* @@ -1342,28 +1330,6 @@ static void gic_cpu_pm_init(void) static inline void gic_cpu_pm_init(void) { } #endif /* CONFIG_CPU_PM */ -#ifdef CONFIG_PM -void gic_resume(void) -{ - trace_android_vh_gic_resume(gic_data.domain, gic_data.dist_base); -} -EXPORT_SYMBOL_GPL(gic_resume); - -static struct syscore_ops gic_syscore_ops = { - .resume = gic_resume, -}; - -static void gic_syscore_init(void) -{ - register_syscore_ops(&gic_syscore_ops); -} - -#else -static inline void gic_syscore_init(void) { } -void gic_resume(void) { } -#endif - - static struct irq_chip gic_chip = { .name = "GICv3", .irq_mask = gic_mask_irq, @@ -1854,7 +1820,6 @@ static int __init gic_init_bases(void __iomem *dist_base, gic_cpu_init(); gic_smp_init(); gic_cpu_pm_init(); - gic_syscore_init(); if (gic_dist_supports_lpis()) { its_init(handle, &gic_data.rdists, gic_data.domain); diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 221f9a517a47..12d91f0dedf9 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h @@ -654,8 +654,6 @@ static inline bool gic_enable_sre(void) return !!(val & ICC_SRE_EL1_SRE); } -void gic_resume(void); - #endif #endif diff --git a/include/trace/hooks/gic.h b/include/trace/hooks/gic.h deleted file mode 100644 index 4ac8c4930aa8..000000000000 --- a/include/trace/hooks/gic.h +++ /dev/null @@ -1,20 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#undef TRACE_SYSTEM -#define TRACE_SYSTEM gic - -#define TRACE_INCLUDE_PATH trace/hooks - -#if !defined(_TRACE_HOOK_GIC_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_HOOK_GIC_H - -#include - -#include - -DECLARE_HOOK(android_vh_gic_resume, - TP_PROTO(struct irq_domain *domain, void __iomem *dist_base), - TP_ARGS(domain, dist_base)); - -#endif /* _TRACE_HOOK_GIC_H */ -/* This part must be outside protection */ -#include diff --git a/include/trace/hooks/gic_v3.h b/include/trace/hooks/gic_v3.h deleted file mode 100644 index 0f0f92c35607..000000000000 --- a/include/trace/hooks/gic_v3.h +++ /dev/null @@ -1,24 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ -#undef TRACE_SYSTEM -#define TRACE_SYSTEM gic_v3 -#define TRACE_INCLUDE_PATH trace/hooks -#if !defined(_TRACE_HOOK_GIC_V3_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_HOOK_GIC_V3_H -#include -/* - * Following tracepoints are not exported in tracefs and provide a - * mechanism for vendor modules to hook and extend functionality - */ -struct irq_data; -struct cpumask; -DECLARE_HOOK(android_vh_gic_v3_affinity_init, - TP_PROTO(int irq, u32 offset, u64 *affinity), - TP_ARGS(irq, offset, affinity)); -DECLARE_HOOK(android_vh_gic_v3_set_affinity, - TP_PROTO(struct irq_data *d, const struct cpumask *mask_val, - u64 *affinity, bool force, void __iomem *base), - TP_ARGS(d, mask_val, affinity, force, base)); - -#endif /* _TRACE_HOOK_GIC_V3_H */ -/* This part must be outside protection */ -#include