|
@@ -330,6 +330,8 @@ static int armada_xp_set_affinity(struct irq_data *d,
|
|
writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq));
|
|
writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq));
|
|
raw_spin_unlock(&irq_controller_lock);
|
|
raw_spin_unlock(&irq_controller_lock);
|
|
|
|
|
|
|
|
+ irq_data_update_effective_affinity(d, cpumask_of(cpu));
|
|
|
|
+
|
|
return IRQ_SET_MASK_OK;
|
|
return IRQ_SET_MASK_OK;
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
@@ -363,6 +365,7 @@ static int armada_370_xp_mpic_irq_map(struct irq_domain *h,
|
|
} else {
|
|
} else {
|
|
irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip,
|
|
irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip,
|
|
handle_level_irq);
|
|
handle_level_irq);
|
|
|
|
+ irqd_set_single_target(irq_desc_get_irq_data(irq_to_desc(virq)));
|
|
}
|
|
}
|
|
irq_set_probe(virq);
|
|
irq_set_probe(virq);
|
|
|
|
|