diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2019-02-23 04:53:31 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2019-02-23 04:53:31 -0500 |
commit | a324ca9cad4736252c33c1e28cffe1d87f262d03 (patch) | |
tree | da64e14dd8432602634773b52073928c50dfb85c /kernel/irq/debugfs.c | |
parent | 4e6b26d23dc1faee318796d5c7f91b5692b1e6be (diff) | |
parent | 28528fca4908142bd1a3247956cba56c9c667d71 (diff) |
Merge tag 'irqchip-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core
Pull irqchip updates from Marc Zyngier
- Core pseudo-NMI handling code
- Allow the default irq domain to be retrieved
- A new interrupt controller for the Loongson LS1X platform
- Affinity support for the SiFive PLIC
- Better support for the iMX irqsteer driver
- NUMA aware memory allocations for GICv3
- A handful of other fixes (i8259, GICv3, PLIC)
Diffstat (limited to 'kernel/irq/debugfs.c')
-rw-r--r-- | kernel/irq/debugfs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c index bbd783a83409..516c00a5e867 100644 --- a/kernel/irq/debugfs.c +++ b/kernel/irq/debugfs.c | |||
@@ -56,6 +56,7 @@ static const struct irq_bit_descr irqchip_flags[] = { | |||
56 | BIT_MASK_DESCR(IRQCHIP_ONESHOT_SAFE), | 56 | BIT_MASK_DESCR(IRQCHIP_ONESHOT_SAFE), |
57 | BIT_MASK_DESCR(IRQCHIP_EOI_THREADED), | 57 | BIT_MASK_DESCR(IRQCHIP_EOI_THREADED), |
58 | BIT_MASK_DESCR(IRQCHIP_SUPPORTS_LEVEL_MSI), | 58 | BIT_MASK_DESCR(IRQCHIP_SUPPORTS_LEVEL_MSI), |
59 | BIT_MASK_DESCR(IRQCHIP_SUPPORTS_NMI), | ||
59 | }; | 60 | }; |
60 | 61 | ||
61 | static void | 62 | static void |
@@ -140,6 +141,7 @@ static const struct irq_bit_descr irqdesc_istates[] = { | |||
140 | BIT_MASK_DESCR(IRQS_WAITING), | 141 | BIT_MASK_DESCR(IRQS_WAITING), |
141 | BIT_MASK_DESCR(IRQS_PENDING), | 142 | BIT_MASK_DESCR(IRQS_PENDING), |
142 | BIT_MASK_DESCR(IRQS_SUSPENDED), | 143 | BIT_MASK_DESCR(IRQS_SUSPENDED), |
144 | BIT_MASK_DESCR(IRQS_NMI), | ||
143 | }; | 145 | }; |
144 | 146 | ||
145 | 147 | ||
@@ -203,8 +205,8 @@ static ssize_t irq_debug_write(struct file *file, const char __user *user_buf, | |||
203 | chip_bus_lock(desc); | 205 | chip_bus_lock(desc); |
204 | raw_spin_lock_irqsave(&desc->lock, flags); | 206 | raw_spin_lock_irqsave(&desc->lock, flags); |
205 | 207 | ||
206 | if (irq_settings_is_level(desc)) { | 208 | if (irq_settings_is_level(desc) || desc->istate & IRQS_NMI) { |
207 | /* Can't do level, sorry */ | 209 | /* Can't do level nor NMIs, sorry */ |
208 | err = -EINVAL; | 210 | err = -EINVAL; |
209 | } else { | 211 | } else { |
210 | desc->istate |= IRQS_PENDING; | 212 | desc->istate |= IRQS_PENDING; |