diff options
Diffstat (limited to 'arch/arc/include/asm/irqflags.h')
-rw-r--r-- | arch/arc/include/asm/irqflags.h | 22 |
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__ */ |