aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-tegra/irq.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-05-01 18:27:34 -0400
committerWill Deacon <will.deacon@arm.com>2011-05-11 11:04:16 -0400
commit4bd66cfde5c3b6eced0da483c6357ae46d3adbb5 (patch)
tree36b7a14bddcf0cb92898f4a17539fb937a2780f9 /arch/arm/mach-tegra/irq.c
parentd1d8c666683cdbef18329ff8f3743ddaca8842ee (diff)
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/arm/mach-tegra/irq.c')
-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)
95 tegra_irq_write_mask(d->irq, ICTLR_CPU_IEP_FIR_CLR); 95 tegra_irq_write_mask(d->irq, ICTLR_CPU_IEP_FIR_CLR);
96} 96}
97 97
98static void tegra_eoi(struct irq_data *d)
99{
100 if (d->irq < FIRST_LEGACY_IRQ)
101 return;
102
103 tegra_irq_write_mask(d->irq, ICTLR_CPU_IEP_FIR_CLR);
104}
105
98static int tegra_retrigger(struct irq_data *d) 106static int tegra_retrigger(struct irq_data *d)
99{ 107{
100 if (d->irq < FIRST_LEGACY_IRQ) 108 if (d->irq < FIRST_LEGACY_IRQ)
@@ -116,6 +124,7 @@ void __init tegra_init_irq(void)
116 } 124 }
117 125
118 gic_arch_extn.irq_ack = tegra_ack; 126 gic_arch_extn.irq_ack = tegra_ack;
127 gic_arch_extn.irq_eoi = tegra_eoi;
119 gic_arch_extn.irq_mask = tegra_mask; 128 gic_arch_extn.irq_mask = tegra_mask;
120 gic_arch_extn.irq_unmask = tegra_unmask; 129 gic_arch_extn.irq_unmask = tegra_unmask;
121 gic_arch_extn.irq_retrigger = tegra_retrigger; 130 gic_arch_extn.irq_retrigger = tegra_retrigger;