summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-05-02 00:27:34 +0200
committerWill Deacon <will.deacon@arm.com>2011-05-11 17:04:16 +0200
commit4bd66cfde5c3b6eced0da483c6357ae46d3adbb5 (patch)
tree36b7a14bddcf0cb92898f4a17539fb937a2780f9 /arch
parentARM: tegra: irq: Move legacy_irq.c into irq.c (diff)
downloadlinux-4bd66cfde5c3b6eced0da483c6357ae46d3adbb5.tar.xz
linux-4bd66cfde5c3b6eced0da483c6357ae46d3adbb5.zip
ARM: tegra: irq: Add tegra_eoi
Implement irq_eoi to allow the GIC irq chip flow controller to be changed to fasteoi. Signed-off-by: Colin Cross <ccross@android.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/irq.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c
index da1749108c7d..4956c3cea731 100644
--- a/arch/arm/mach-tegra/irq.c
+++ b/arch/arm/mach-tegra/irq.c
@@ -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;