ARM: tegra: irq: Add tegra_eoi
authorColin Cross <ccross@android.com>
Sun, 1 May 2011 22:27:34 +0000 (15:27 -0700)
committerWill Deacon <will.deacon@arm.com>
Wed, 11 May 2011 15:04:16 +0000 (16:04 +0100)
Implement irq_eoi to allow the GIC irq chip flow controller to
be changed to fasteoi.

Signed-off-by: Colin Cross <ccross@android.com>
arch/arm/mach-tegra/irq.c

index da1749108c7d8e631a7413227affb550a9f4924e..4956c3cea73172923cff3f2166eff9711a727e1c 100644 (file)
@@ -95,6 +95,14 @@ static void tegra_ack(struct irq_data *d)
        tegra_irq_write_mask(d->irq, ICTLR_CPU_IEP_FIR_CLR);
 }
 
+static void tegra_eoi(struct irq_data *d)
+{
+       if (d->irq < FIRST_LEGACY_IRQ)
+               return;
+
+       tegra_irq_write_mask(d->irq, ICTLR_CPU_IEP_FIR_CLR);
+}
+
 static int tegra_retrigger(struct irq_data *d)
 {
        if (d->irq < FIRST_LEGACY_IRQ)
@@ -116,6 +124,7 @@ void __init tegra_init_irq(void)
        }
 
        gic_arch_extn.irq_ack = tegra_ack;
+       gic_arch_extn.irq_eoi = tegra_eoi;
        gic_arch_extn.irq_mask = tegra_mask;
        gic_arch_extn.irq_unmask = tegra_unmask;
        gic_arch_extn.irq_retrigger = tegra_retrigger;