Messages in this thread | | | Subject | Re: [PATCH v9 20/26] irqchip/gic-v3: Handle pseudo-NMIs | From | Julien Thierry <> | Date | Tue, 29 Jan 2019 11:33:35 +0000 |
| |
On 28/01/2019 11:59, Marc Zyngier wrote: > On Mon, 21 Jan 2019 15:33:39 +0000, > Julien Thierry <julien.thierry@arm.com> wrote: >> >> Provide a higher priority to be used for pseudo-NMIs. When such an >> interrupt is received, keep interrupts fully disabled at CPU level to >> prevent receiving other pseudo-NMIs while handling the current one. >> >> Signed-off-by: Julien Thierry <julien.thierry@arm.com> >> Cc: Thomas Gleixner <tglx@linutronix.de> >> Cc: Jason Cooper <jason@lakedaemon.net> >> Cc: Marc Zyngier <marc.zyngier@arm.com> >> --- >> drivers/irqchip/irq-gic-v3.c | 42 ++++++++++++++++++++++++++++++++++++------ >> 1 file changed, 36 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/irqchip/irq-gic-v3.c b/drivers/irqchip/irq-gic-v3.c >> index 5374b43..4df1e94 100644 >> --- a/drivers/irqchip/irq-gic-v3.c >> +++ b/drivers/irqchip/irq-gic-v3.c >> @@ -41,6 +41,8 @@ >> >> #include "irq-gic-common.h" >> >> +#define GICD_INT_NMI_PRI (GICD_INT_DEF_PRI & ~0x80) >> + >> #define FLAGS_WORKAROUND_GICR_WAKER_MSM8996 (1ULL << 0) >> >> struct redist_region { >> @@ -381,12 +383,45 @@ static u64 gic_mpidr_to_affinity(unsigned long mpidr) >> return aff; >> } >> >> +static inline void gic_deactivate_unexpected_irq(u32 irqnr) > > Same remark as on some other patches: you should be able to drop the > inline attribute without any ill effect. I'd also like this to be > renamed "gic_deactivate_spurious", or something similar. >
I'm a bit concern about using spurious since it is not related to GICC_INT_SPURIOUS, we actually read a valid IRQ number, we just don't know how we should handle it.
Would "gic_deactivate_unhandled" work? Or "gic_deactivate_bad"?
Thanks,
-- Julien Thierry
| |