[OpenWrt-Devel] [PATCH] bcm63xx: Report that effective affinity is a single target

Daniel Gonzalez Cabanelas dgcbueu at gmail.com
Mon Mar 16 13:17:16 EDT 2020


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"
---
 ...qchip-add-support-for-bcm6345-style-periphery-irq-.patch | 6 ++++--
 ...qchip-add-support-for-bcm6345-style-periphery-irq-.patch | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/target/linux/bcm63xx/patches-4.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch b/target/linux/bcm63xx/patches-4.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
index 7235d1f96b..11666133b9 100644
--- a/target/linux/bcm63xx/patches-4.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
+++ b/target/linux/bcm63xx/patches-4.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
@@ -94,7 +94,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  obj-$(CONFIG_METAG_PERFCOUNTER_IRQS)	+= irq-metag.o
 --- /dev/null
 +++ b/drivers/irqchip/irq-bcm6345-periph.c
-@@ -0,0 +1,339 @@
+@@ -0,0 +1,341 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
@@ -283,6 +283,8 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
 +	}
 +	raw_spin_unlock_irqrestore(&priv->lock, flags);
 +
++	irq_data_update_effective_affinity(data, cpumask_of(cpu));
++
 +	return 0;
 +}
 +#endif
@@ -293,7 +295,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
 +	struct intc_data *priv = d->host_data;
 +
 +	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;
 +}
 +
diff --git a/target/linux/bcm63xx/patches-4.19/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch b/target/linux/bcm63xx/patches-4.19/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
index b75987ef35..2f44a48c32 100644
--- a/target/linux/bcm63xx/patches-4.19/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
+++ b/target/linux/bcm63xx/patches-4.19/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
@@ -94,7 +94,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
  obj-$(CONFIG_OMPIC)			+= irq-ompic.o
 --- /dev/null
 +++ b/drivers/irqchip/irq-bcm6345-periph.c
-@@ -0,0 +1,339 @@
+@@ -0,0 +1,341 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
@@ -283,6 +283,8 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
 +	}
 +	raw_spin_unlock_irqrestore(&priv->lock, flags);
 +
++	irq_data_update_effective_affinity(data, cpumask_of(cpu));
++
 +	return 0;
 +}
 +#endif
@@ -293,7 +295,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
 +	struct intc_data *priv = d->host_data;
 +
 +	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;
 +}
 +
-- 
2.25.1





_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list