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]
This commit is contained in:
Родитель
6f0310a126
Коммит
fc73965ed0
|
@ -156,15 +156,20 @@ static void idu_set_mode(unsigned int cmn_irq, unsigned int lvl,
|
||||||
__mcip_cmd_data(CMD_IDU_SET_MODE, cmn_irq, data.word);
|
__mcip_cmd_data(CMD_IDU_SET_MODE, cmn_irq, data.word);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void idu_irq_mask(struct irq_data *data)
|
static void idu_irq_mask_raw(irq_hw_number_t hwirq)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
raw_spin_lock_irqsave(&mcip_lock, flags);
|
raw_spin_lock_irqsave(&mcip_lock, flags);
|
||||||
__mcip_cmd_data(CMD_IDU_SET_MASK, data->hwirq, 1);
|
__mcip_cmd_data(CMD_IDU_SET_MASK, hwirq, 1);
|
||||||
raw_spin_unlock_irqrestore(&mcip_lock, flags);
|
raw_spin_unlock_irqrestore(&mcip_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void idu_irq_mask(struct irq_data *data)
|
||||||
|
{
|
||||||
|
idu_irq_mask_raw(data->hwirq);
|
||||||
|
}
|
||||||
|
|
||||||
static void idu_irq_unmask(struct irq_data *data)
|
static void idu_irq_unmask(struct irq_data *data)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -301,6 +306,9 @@ idu_of_init(struct device_node *intc, struct device_node *parent)
|
||||||
/* Parent interrupts (core-intc) are already mapped */
|
/* Parent interrupts (core-intc) are already mapped */
|
||||||
|
|
||||||
for (i = 0; i < nr_irqs; i++) {
|
for (i = 0; i < nr_irqs; i++) {
|
||||||
|
/* Mask all common interrupts by default */
|
||||||
|
idu_irq_mask_raw(i);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return parent uplink IRQs (towards core intc) 24,25,.....
|
* Return parent uplink IRQs (towards core intc) 24,25,.....
|
||||||
* this step has been done before already
|
* this step has been done before already
|
||||||
|
|
Загрузка…
Ссылка в новой задаче