diff options
author | Felix Fietkau <nbd@nbd.name> | 2017-11-14 11:06:41 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2017-11-15 18:49:12 +0100 |
commit | 31691f9649b096eac387137de2dbf07f767508f7 (patch) | |
tree | 194c2f0ee82c3be376e60f5685ec99cda4d9a064 | |
parent | d91494eedf06ac6b31c1aa9f7172871b16af96c8 (diff) | |
download | upstream-31691f9649b096eac387137de2dbf07f767508f7.tar.gz upstream-31691f9649b096eac387137de2dbf07f767508f7.tar.bz2 upstream-31691f9649b096eac387137de2dbf07f767508f7.zip |
mvebu: backport a kernel irq fix for setting IRQ affinity
The IRQ controller can only set the affinity to a single CPU. Update the
mask in the controller data.
Suggested-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r-- | target/linux/mvebu/patches-4.9/130-irqchip-armada-xp-backport.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-4.9/130-irqchip-armada-xp-backport.patch b/target/linux/mvebu/patches-4.9/130-irqchip-armada-xp-backport.patch new file mode 100644 index 0000000000..14cbb7beb5 --- /dev/null +++ b/target/linux/mvebu/patches-4.9/130-irqchip-armada-xp-backport.patch @@ -0,0 +1,17 @@ +Backport a change that updates the effective affinity mask. The Armada IRQ +controller only supports setting the affinity to a single CPU, and the IRQ +subsystem needs to know about that. + +Signed-off-by: Felix Fietkau <nbd@nbd.name> +--- +--- a/drivers/irqchip/irq-armada-370-xp.c ++++ b/drivers/irqchip/irq-armada-370-xp.c +@@ -251,6 +251,8 @@ static int armada_xp_set_affinity(struct + writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq)); + raw_spin_unlock(&irq_controller_lock); + ++ cpumask_copy(irq_data_get_affinity_mask(d), cpumask_of(cpu)); ++ + return IRQ_SET_MASK_OK; + } + #endif |