Commit b334481a authored by Julien Thierry's avatar Julien Thierry Committed by Catalin Marinas

arm64: gic-v3: Implement arch support for priority masking

Implement architecture specific primitive allowing the GICv3 driver to
use priorities to mask interrupts.
Signed-off-by: default avatarJulien Thierry <julien.thierry@arm.com>
Suggested-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent e7932188
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <linux/irqchip/arm-gic-common.h>
#include <linux/stringify.h> #include <linux/stringify.h>
#include <asm/barrier.h> #include <asm/barrier.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
...@@ -162,14 +163,13 @@ static inline bool gic_prio_masking_enabled(void) ...@@ -162,14 +163,13 @@ static inline bool gic_prio_masking_enabled(void)
static inline void gic_pmr_mask_irqs(void) static inline void gic_pmr_mask_irqs(void)
{ {
/* Should not get called yet. */ BUILD_BUG_ON(GICD_INT_DEF_PRI <= GIC_PRIO_IRQOFF);
WARN_ON_ONCE(true); gic_write_pmr(GIC_PRIO_IRQOFF);
} }
static inline void gic_arch_enable_irqs(void) static inline void gic_arch_enable_irqs(void)
{ {
/* Should not get called yet. */ asm volatile ("msr daifclr, #2" : : : "memory");
WARN_ON_ONCE(true);
} }
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment