openwrt/target/linux/mvebu/patches-4.9/130-irqchip-armada-xp-backport.patch
Felix Fietkau 31691f9649 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>
2017-11-15 18:49:12 +01:00

18 lines
594 B
Diff

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