aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm63xx/patches-5.4
diff options
context:
space:
mode:
authorDaniel Gonzalez Cabanelas <dgcbueu@gmail.com>2020-05-14 18:10:12 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-14 18:10:12 +0200
commite04ff3c7cc52c23f5b40730ee426710e22940d68 (patch)
treef49beacd84a304421af3f58e9d444d80bde749d3 /target/linux/bcm63xx/patches-5.4
parent29c3bb5f413f0962971c66e6516b8409a78e0135 (diff)
downloadupstream-e04ff3c7cc52c23f5b40730ee426710e22940d68.tar.gz
upstream-e04ff3c7cc52c23f5b40730ee426710e22940d68.tar.bz2
upstream-e04ff3c7cc52c23f5b40730ee426710e22940d68.zip
bcm63xx: periph_intc: report effective affinity
The bcm6345-periph-intc driver only targets a single CPU at a time, even if the notional affinity is wider. Let's inform the core code about this. This patch gets rid of the kernel message: "genirq: irq_chip bcm6345-periph-intc did not update eff. affinity mask of irq 52" Signed-off-by: Daniel Gonzalez Cabanelas <dgcbueu@gmail.com>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.4')
-rw-r--r--target/linux/bcm63xx/patches-5.4/326-irqchip-bcm6345-report-eff-affinity.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/326-irqchip-bcm6345-report-eff-affinity.patch b/target/linux/bcm63xx/patches-5.4/326-irqchip-bcm6345-report-eff-affinity.patch
new file mode 100644
index 0000000000..f25488575c
--- /dev/null
+++ b/target/linux/bcm63xx/patches-5.4/326-irqchip-bcm6345-report-eff-affinity.patch
@@ -0,0 +1,20 @@
+--- a/drivers/irqchip/irq-bcm6345-periph.c
++++ b/drivers/irqchip/irq-bcm6345-periph.c
+@@ -186,6 +186,8 @@ static int bcm6345_periph_set_affinity(s
+ }
+ raw_spin_unlock_irqrestore(&priv->lock, flags);
+
++ irq_data_update_effective_affinity(data, cpumask_of(cpu));
++
+ return 0;
+ }
+ #endif
+@@ -197,6 +199,8 @@ static int bcm6345_periph_map(struct irq
+
+ irq_set_chip_and_handler(irq, &priv->chip, handle_level_irq);
+
++ irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(irq)));
++
+ return 0;
+ }
+