diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-08 11:59:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-07-08 11:59:33 -0400 |
commit | 977dcf0c475eaefa334f6bf6b63d27742d0eade5 (patch) | |
tree | 79490f31f982c98dbe42e5da35438c4ce4188081 | |
parent | 18b16676c36ae6e438ddb543bbb45accbbc4f901 (diff) | |
parent | 547aefc4db877e65245c3d95fcce703701bf3a0c (diff) |
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Ingo Molnar:
"Two MIPS-GIC irqchip driver fixes to unbreak certain MIPS boards"
* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/mips-gic: Match IPI IRQ domain by bus token only
irqchip/mips-gic: Map to VPs using HW VPNum
-rw-r--r-- | drivers/irqchip/irq-mips-gic.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c index 8a4adbeb2b8c..70ed1d0151b8 100644 --- a/drivers/irqchip/irq-mips-gic.c +++ b/drivers/irqchip/irq-mips-gic.c | |||
@@ -718,7 +718,7 @@ static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, | |||
718 | 718 | ||
719 | spin_lock_irqsave(&gic_lock, flags); | 719 | spin_lock_irqsave(&gic_lock, flags); |
720 | gic_map_to_pin(intr, gic_cpu_pin); | 720 | gic_map_to_pin(intr, gic_cpu_pin); |
721 | gic_map_to_vpe(intr, vpe); | 721 | gic_map_to_vpe(intr, mips_cm_vp_id(vpe)); |
722 | for (i = 0; i < min(gic_vpes, NR_CPUS); i++) | 722 | for (i = 0; i < min(gic_vpes, NR_CPUS); i++) |
723 | clear_bit(intr, pcpu_masks[i].pcpu_mask); | 723 | clear_bit(intr, pcpu_masks[i].pcpu_mask); |
724 | set_bit(intr, pcpu_masks[vpe].pcpu_mask); | 724 | 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, | |||
959 | switch (bus_token) { | 959 | switch (bus_token) { |
960 | case DOMAIN_BUS_IPI: | 960 | case DOMAIN_BUS_IPI: |
961 | is_ipi = d->bus_token == bus_token; | 961 | is_ipi = d->bus_token == bus_token; |
962 | return to_of_node(d->fwnode) == node && is_ipi; | 962 | return (!node || to_of_node(d->fwnode) == node) && is_ipi; |
963 | break; | 963 | break; |
964 | default: | 964 | default: |
965 | return 0; | 965 | return 0; |