Skip to contentSkip to conversation

irq fixes

GIT PULL Ingo Molnar 1 participant 1 message Jul 8, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest irq-urgent-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq-urgent-for-linus

# HEAD: 547aefc4db877e65245c3d95fcce703701bf3a0c irqchip/mips-gic: Match IPI IRQ domain by bus token only

Two MIPS-GIC irqchip driver fixes to unbreak certain MIPS boards.

Thanks,

Ingo

------------------>
Paul Burton (2):
irqchip/mips-gic: Map to VPs using HW VPNum irqchip/mips-gic: Match IPI IRQ domain by bus token only

 drivers/irqchip/irq-mips-gic.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/irqchip/irq-mips-gic.c +2 -2
index 8a4adbeb2b8c..70ed1d0151b8 100644
@@ -718,7 +718,7 @@ static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq,
 
 	spin_lock_irqsave(&gic_lock, flags);
 	gic_map_to_pin(intr, gic_cpu_pin);
-	gic_map_to_vpe(intr, vpe);
+	gic_map_to_vpe(intr, mips_cm_vp_id(vpe));
 	for (i = 0; i < min(gic_vpes, NR_CPUS); i++)
 		clear_bit(intr, pcpu_masks[i].pcpu_mask);
 	set_bit(intr, pcpu_masks[vpe].pcpu_mask);
@@ -959,7 +959,7 @@ int gic_ipi_domain_match(struct irq_domain *d, struct device_node *node,
 	switch (bus_token) {
 	case DOMAIN_BUS_IPI:
 		is_ipi = d->bus_token == bus_token;
-		return to_of_node(d->fwnode) == node && is_ipi;
+		return (!node || to_of_node(d->fwnode) == node) && is_ipi;
 		break;
 	default:
 		return 0;