summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/pm.h
diff options
context:
space:
mode:
authorNitin Agrawal <nitina@nvidia.com>2012-11-21 10:53:23 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:43:20 -0700
commit25b7ec63f5fad81e1ef17cbe8c816c501b045040 (patch)
tree24189958ecb58ae3431eed7daf1c3d3ba0c79e98 /arch/arm/mach-tegra/pm.h
parent08b33eecdb2b3d91e7cff3ed9fe87dde7bca53f0 (diff)
arm: tegra: API for cluster switching
API for doing cluster switching so that we can do cluster switching within the kernel from another process explictly. Bug 1058804 Reviewed-on: http://git-master/r/141961 (cherry picked from commit 96e05643a4b1ea2c566ab5cf07642645f4f935bb) Signed-off-by: Nitin Agrawal <nitina@nvidia.com> Change-Id: Ic4821fbd507327d7c951ab74ae7b1febc6f5bbe6 Reviewed-on: http://git-master/r/161869 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bob Johnston <bjohnston@nvidia.com> Reviewed-by: Sumeet Gupta <sumeetg@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Nagaraj Kolur <nkolur@nvidia.com> Reviewed-by: Bo Yan <byan@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/pm.h')
-rw-r--r--arch/arm/mach-tegra/pm.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pm.h b/arch/arm/mach-tegra/pm.h
index aebe2052ee52..b2c7bf820bf9 100644
--- a/arch/arm/mach-tegra/pm.h
+++ b/arch/arm/mach-tegra/pm.h
@@ -155,6 +155,8 @@ static inline unsigned int is_lp_cluster(void)
int tegra_cluster_control(unsigned int us, unsigned int flags);
void tegra_cluster_switch_prolog(unsigned int flags);
void tegra_cluster_switch_epilog(unsigned int flags);
+int tegra_switch_to_g_cluster(void);
+int tegra_switch_to_lp_cluster(void);
#else
#define INSTRUMENT_CLUSTER_SWITCH 0 /* Must be zero for ARCH_TEGRA_2x_SOC */
#define DEBUG_CLUSTER_SWITCH 0 /* Must be zero for ARCH_TEGRA_2x_SOC */
@@ -168,6 +170,14 @@ static inline int tegra_cluster_control(unsigned int us, unsigned int flags)
}
static inline void tegra_cluster_switch_prolog(unsigned int flags) {}
static inline void tegra_cluster_switch_epilog(unsigned int flags) {}
+static inline int tegra_switch_to_g_cluster(void)
+{
+ return -EPERM;
+}
+static inline int tegra_switch_to_lp_cluster(void)
+{
+ return -EPERM;
+}
#endif
#ifdef CONFIG_ARCH_TEGRA_2x_SOC
@@ -260,4 +270,5 @@ extern struct clk *debug_uart_clk;
void tegra_console_uart_suspend(void);
void tegra_console_uart_resume(void);
+
#endif /* _MACH_TEGRA_PM_H_ */