diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2022-05-20 18:48:54 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-05-20 18:48:54 +0200 |
commit | cdb4913293897dde0df522ed5789ba016f3b9157 (patch) | |
tree | 32c3dbbc27f1a79b74760a240f2768ea82f7e5cb /kernel/irq | |
parent | 21673fcb2532dcd189905ff5a5389eb7dcd0e57a (diff) | |
parent | 492449ae4f0ad96948c3e029ca00736a7f1b3d77 (diff) | |
download | linux-cdb4913293897dde0df522ed5789ba016f3b9157.tar.bz2 |
Merge tag 'irqchip-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core
Pull irqchip updates from Marc Zyngier:
- Add new infrastructure to stop gpiolib from rewriting irq_chip
structures behind our back. Convert a few of them, but this will
obviously be a long effort.
- A bunch of GICv3 improvements, such as using MMIO-based invalidations
when possible, and reducing the amount of polling we perform when
reconfiguring interrupts.
- Another set of GICv3 improvements for the Pseudo-NMI functionality,
with a nice cleanup making it easy to reason about the various
states we can be in when an NMI fires.
- The usual bunch of misc fixes and minor improvements.
Link: https://lore.kernel.org/all/20220519165308.998315-1-maz@kernel.org
Diffstat (limited to 'kernel/irq')
-rw-r--r-- | kernel/irq/affinity.c | 5 | ||||
-rw-r--r-- | kernel/irq/debugfs.c | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c index 18740faf0eb1..d9a5c1d65a79 100644 --- a/kernel/irq/affinity.c +++ b/kernel/irq/affinity.c @@ -269,8 +269,9 @@ static int __irq_build_affinity_masks(unsigned int startvec, */ if (numvecs <= nodes) { for_each_node_mask(n, nodemsk) { - cpumask_or(&masks[curvec].mask, &masks[curvec].mask, - node_to_cpumask[n]); + /* Ensure that only CPUs which are in both masks are set */ + cpumask_and(nmsk, cpu_mask, node_to_cpumask[n]); + cpumask_or(&masks[curvec].mask, &masks[curvec].mask, nmsk); if (++curvec == last_affv) curvec = firstvec; } diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c index 2b43f5f5033d..bc8e40cf2b65 100644 --- a/kernel/irq/debugfs.c +++ b/kernel/irq/debugfs.c @@ -58,6 +58,7 @@ static const struct irq_bit_descr irqchip_flags[] = { BIT_MASK_DESCR(IRQCHIP_SUPPORTS_LEVEL_MSI), BIT_MASK_DESCR(IRQCHIP_SUPPORTS_NMI), BIT_MASK_DESCR(IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND), + BIT_MASK_DESCR(IRQCHIP_IMMUTABLE), }; static void |