Commit 0efe3cbf authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle

irqchip: mips-gic: Remove gic_map_to_vpe()

Remove the gic_map_to_vpe() function in favour of using the new
write_gic_map_vp() accessor function which isn't any more complex to
use & allows us to drop a level of abstraction.
Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17033/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent d3e8cf44
...@@ -81,13 +81,6 @@ static inline void gic_write(unsigned int reg, unsigned long val) ...@@ -81,13 +81,6 @@ static inline void gic_write(unsigned int reg, unsigned long val)
return gic_write64(reg, (u64)val); return gic_write64(reg, (u64)val);
} }
static inline void gic_map_to_vpe(unsigned int intr, unsigned int vpe)
{
gic_write(GIC_REG(SHARED, GIC_SH_INTR_MAP_TO_VPE_BASE) +
GIC_SH_MAP_TO_VPE_REG_OFF(intr, vpe),
GIC_SH_MAP_TO_VPE_REG_BIT(vpe));
}
static bool gic_local_irq_is_routable(int intr) static bool gic_local_irq_is_routable(int intr)
{ {
u32 vpe_ctl; u32 vpe_ctl;
...@@ -294,7 +287,7 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask, ...@@ -294,7 +287,7 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *cpumask,
spin_lock_irqsave(&gic_lock, flags); spin_lock_irqsave(&gic_lock, flags);
/* Re-route this IRQ */ /* Re-route this IRQ */
gic_map_to_vpe(irq, mips_cm_vp_id(cpumask_first(&tmp))); write_gic_map_vp(irq, BIT(mips_cm_vp_id(cpumask_first(&tmp))));
/* Update the pcpu_masks */ /* Update the pcpu_masks */
for (i = 0; i < min(gic_vpes, NR_CPUS); i++) for (i = 0; i < min(gic_vpes, NR_CPUS); i++)
...@@ -486,7 +479,7 @@ static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq, ...@@ -486,7 +479,7 @@ static int gic_shared_irq_domain_map(struct irq_domain *d, unsigned int virq,
spin_lock_irqsave(&gic_lock, flags); spin_lock_irqsave(&gic_lock, flags);
write_gic_map_pin(intr, GIC_MAP_PIN_MAP_TO_PIN | gic_cpu_pin); write_gic_map_pin(intr, GIC_MAP_PIN_MAP_TO_PIN | gic_cpu_pin);
gic_map_to_vpe(intr, mips_cm_vp_id(vpe)); write_gic_map_vp(intr, BIT(mips_cm_vp_id(vpe)));
for (i = 0; i < min(gic_vpes, NR_CPUS); i++) for (i = 0; i < min(gic_vpes, NR_CPUS); i++)
clear_bit(intr, pcpu_masks[i].pcpu_mask); clear_bit(intr, pcpu_masks[i].pcpu_mask);
set_bit(intr, pcpu_masks[vpe].pcpu_mask); set_bit(intr, pcpu_masks[vpe].pcpu_mask);
......
...@@ -37,12 +37,6 @@ ...@@ -37,12 +37,6 @@
/* Set/Clear corresponding bit in Edge Detect Register */ /* Set/Clear corresponding bit in Edge Detect Register */
#define GIC_SH_WEDGE_OFS 0x0280 #define GIC_SH_WEDGE_OFS 0x0280
/* Maps Interrupt X to a VPE */
#define GIC_SH_INTR_MAP_TO_VPE_BASE_OFS 0x2000
#define GIC_SH_MAP_TO_VPE_REG_OFF(intr, vpe) \
((32 * (intr)) + (((vpe) / 32) * 4))
#define GIC_SH_MAP_TO_VPE_REG_BIT(vpe) (1 << ((vpe) % 32))
/* Register Map for Local Section */ /* Register Map for Local Section */
#define GIC_VPE_CTL_OFS 0x0000 #define GIC_VPE_CTL_OFS 0x0000
#define GIC_VPE_PEND_OFS 0x0004 #define GIC_VPE_PEND_OFS 0x0004
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment