Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARCv2: IDU-intc: mask all common interrupts by default

Signed-off-by: Yuriy Kolerov <yuriy.kolerov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
[vgupta: broken off from a bigger patch]

authored by

Yuriy Kolerov and committed by
Vineet Gupta
fc73965e 6f0310a1

+10 -2
+10 -2
arch/arc/kernel/mcip.c
··· 156 156 __mcip_cmd_data(CMD_IDU_SET_MODE, cmn_irq, data.word); 157 157 } 158 158 159 - static void idu_irq_mask(struct irq_data *data) 159 + static void idu_irq_mask_raw(irq_hw_number_t hwirq) 160 160 { 161 161 unsigned long flags; 162 162 163 163 raw_spin_lock_irqsave(&mcip_lock, flags); 164 - __mcip_cmd_data(CMD_IDU_SET_MASK, data->hwirq, 1); 164 + __mcip_cmd_data(CMD_IDU_SET_MASK, hwirq, 1); 165 165 raw_spin_unlock_irqrestore(&mcip_lock, flags); 166 + } 167 + 168 + static void idu_irq_mask(struct irq_data *data) 169 + { 170 + idu_irq_mask_raw(data->hwirq); 166 171 } 167 172 168 173 static void idu_irq_unmask(struct irq_data *data) ··· 306 301 /* Parent interrupts (core-intc) are already mapped */ 307 302 308 303 for (i = 0; i < nr_irqs; i++) { 304 + /* Mask all common interrupts by default */ 305 + idu_irq_mask_raw(i); 306 + 309 307 /* 310 308 * Return parent uplink IRQs (towards core intc) 24,25,..... 311 309 * this step has been done before already