aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc/include/asm/irqflags.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arc/include/asm/irqflags.h')
-rw-r--r--arch/arc/include/asm/irqflags.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h
index b68b53f458d1..cb7efc29f16f 100644
--- a/arch/arc/include/asm/irqflags.h
+++ b/arch/arc/include/asm/irqflags.h
@@ -151,16 +151,38 @@ static inline void arch_unmask_irq(unsigned int irq)
151 151
152#else 152#else
153 153
154#ifdef CONFIG_TRACE_IRQFLAGS
155
156.macro TRACE_ASM_IRQ_DISABLE
157 bl trace_hardirqs_off
158.endm
159
160.macro TRACE_ASM_IRQ_ENABLE
161 bl trace_hardirqs_on
162.endm
163
164#else
165
166.macro TRACE_ASM_IRQ_DISABLE
167.endm
168
169.macro TRACE_ASM_IRQ_ENABLE
170.endm
171
172#endif
173
154.macro IRQ_DISABLE scratch 174.macro IRQ_DISABLE scratch
155 lr \scratch, [status32] 175 lr \scratch, [status32]
156 bic \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK) 176 bic \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK)
157 flag \scratch 177 flag \scratch
178 TRACE_ASM_IRQ_DISABLE
158.endm 179.endm
159 180
160.macro IRQ_ENABLE scratch 181.macro IRQ_ENABLE scratch
161 lr \scratch, [status32] 182 lr \scratch, [status32]
162 or \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK) 183 or \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK)
163 flag \scratch 184 flag \scratch
185 TRACE_ASM_IRQ_ENABLE
164.endm 186.endm
165 187
166#endif /* __ASSEMBLY__ */ 188#endif /* __ASSEMBLY__ */