summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle.h
diff options
context:
space:
mode:
authorScott Williams <scwilliams@nvidia.com>2011-07-21 17:44:21 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:46:51 -0800
commit9967bd0823753a0a1413a557649c2f9cc3e3a308 (patch)
tree2163e8ac68bee4543c73d293c0564e2992875825 /arch/arm/mach-tegra/cpuidle.h
parent9ca84c0c18f9e0435b8e7bd241a2662484165271 (diff)
ARM: tegra: Catch early LP2 exits
Change-Id: I107d301ec8e8cd3b69ea293faab15b8d766e38f4 Signed-off-by: Scott Williams <scwilliams@nvidia.com> DW: Split into logical changes Signed-off-by: Dan Willemsen <dwillemsen@nvidia.com> Rebase-Id: R9f8f016c1850e2c65f30f2f67241a94acf8a7755
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle.h')
-rw-r--r--arch/arm/mach-tegra/cpuidle.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/cpuidle.h b/arch/arm/mach-tegra/cpuidle.h
index 8f17ba66aa85..35c3360a6e17 100644
--- a/arch/arm/mach-tegra/cpuidle.h
+++ b/arch/arm/mach-tegra/cpuidle.h
@@ -73,6 +73,15 @@ static inline int tegra_lp2_debug_show(struct seq_file *s, void *data)
}
#endif
+static inline int tegra_pending_interrupt(void)
+{
+ void __iomem *gic_cpu = IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x100);
+ u32 reg = readl(gic_cpu + 0x18);
+ reg &= 0x3FF;
+
+ return reg;
+}
+
#ifdef CONFIG_CPU_IDLE
void tegra_lp2_in_idle(bool enable);
#else