summaryrefslogtreecommitdiff
path: root/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/0017-perf-arm-cmn-Use-irq_set_affinity.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/0017-perf-arm-cmn-Use-irq_set_affinity.patch')
-rw-r--r--meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/0017-perf-arm-cmn-Use-irq_set_affinity.patch74
1 files changed, 0 insertions, 74 deletions
diff --git a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/0017-perf-arm-cmn-Use-irq_set_affinity.patch b/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/0017-perf-arm-cmn-Use-irq_set_affinity.patch
deleted file mode 100644
index e8674c33ea..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-kernel/linux/linux-arm64-ack-5.10/tc/0017-perf-arm-cmn-Use-irq_set_affinity.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From ad3c5d9224ffcd7b2e083f03441c6188d2bbef67 Mon Sep 17 00:00:00 2001
-From: Thomas Gleixner <tglx@linutronix.de>
-Date: Tue, 18 May 2021 11:17:28 +0200
-Subject: [PATCH 01/14] perf/arm-cmn: Use irq_set_affinity()
-
-The driver uses irq_set_affinity_hint() to set the affinity for the PMU
-interrupts, which relies on the undocumented side effect that this function
-actually sets the affinity under the hood.
-
-Setting an hint is clearly not a guarantee and for these PMU interrupts an
-affinity hint, which is supposed to guide userspace for setting affinity,
-is beyond pointless, because the affinity of these interrupts cannot be
-modified from user space.
-
-Aside of that the error checks are bogus because the only error which is
-returned from irq_set_affinity_hint() is when there is no irq descriptor
-for the interrupt number, but not when the affinity set fails. That's on
-purpose because the hint can point to an offline CPU.
-
-Replace the mindless abuse with irq_set_affinity().
-
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-
-Link: https://lore.kernel.org/r/20210518093118.277228577@linutronix.de
-Signed-off-by: Will Deacon <will@kernel.org>
-
-Upstream-Status: Backport [https://lore.kernel.org/r/20210518093118.277228577@linutronix.de]
-Signed-off-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
----
- drivers/perf/arm-cmn.c | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/perf/arm-cmn.c b/drivers/perf/arm-cmn.c
-index 46defb1dcf86..38fa6f89d0bc 100644
---- a/drivers/perf/arm-cmn.c
-+++ b/drivers/perf/arm-cmn.c
-@@ -1162,7 +1162,7 @@ static int arm_cmn_pmu_offline_cpu(unsigned int cpu, struct hlist_node *node)
-
- perf_pmu_migrate_context(&cmn->pmu, cpu, target);
- for (i = 0; i < cmn->num_dtcs; i++)
-- irq_set_affinity_hint(cmn->dtc[i].irq, cpumask_of(target));
-+ irq_set_affinity(cmn->dtc[i].irq, cpumask_of(target));
- cmn->cpu = target;
- return 0;
- }
-@@ -1222,7 +1222,7 @@ static int arm_cmn_init_irqs(struct arm_cmn *cmn)
- if (err)
- return err;
-
-- err = irq_set_affinity_hint(irq, cpumask_of(cmn->cpu));
-+ err = irq_set_affinity(irq, cpumask_of(cmn->cpu));
- if (err)
- return err;
- next:
-@@ -1568,16 +1568,11 @@ static int arm_cmn_probe(struct platform_device *pdev)
- static int arm_cmn_remove(struct platform_device *pdev)
- {
- struct arm_cmn *cmn = platform_get_drvdata(pdev);
-- int i;
-
- writel_relaxed(0, cmn->dtc[0].base + CMN_DT_DTC_CTL);
-
- perf_pmu_unregister(&cmn->pmu);
- cpuhp_state_remove_instance(arm_cmn_hp_state, &cmn->cpuhp_node);
--
-- for (i = 0; i < cmn->num_dtcs; i++)
-- irq_set_affinity_hint(cmn->dtc[i].irq, NULL);
--
- return 0;
- }
-
---
-2.25.1
-