summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpu-tegra.h
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-08-23 22:52:42 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 00:57:18 -0700
commit7c233e606c1952772997b17db2efae10c406b91a (patch)
tree428819bb8e6d8f6d3b21c16628d7e8766c564363 /arch/arm/mach-tegra/cpu-tegra.h
parente0120fdd508ec07ecc450c2cbf14b209be26c2ed (diff)
ARM: tegra: power: Tune Tegra3 hotplug algorithm
- Account for EDP affect on total available MIPS when bringing on-line (removing off-line) new cpu core. Add multi-core overhead (in percent) as a parameter - set by default to 10%. - Add balance level parameter: level value (in percent) defines minimum speed ratio used by hotplug algorithm to determine if current CPU cores are balanced, so that another core may be brought on-line. By default set to 75% Added tunables: /sys/module/cpu_tegra3/parameters/mp_overhead /sys/module/cpu_tegra3/parameters/balance_level Bug 865176 Bug 867186 Original-Change-Id: I6f2e175e0b5ed14c4b85794949c1e65d0e7f4a36 Reviewed-on: http://git-master/r/49772 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Peter Boonstoppel <pboonstoppel@nvidia.com> Tested-by: Peter Boonstoppel <pboonstoppel@nvidia.com> Tested-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com> Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com> Rebase-Id: Rcfefb570c30bf78f6eae155c3f3f7547ac64f128
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra.h')
-rw-r--r--arch/arm/mach-tegra/cpu-tegra.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/cpu-tegra.h b/arch/arm/mach-tegra/cpu-tegra.h
index 4ffdfb91dd0e..348d1384db10 100644
--- a/arch/arm/mach-tegra/cpu-tegra.h
+++ b/arch/arm/mach-tegra/cpu-tegra.h
@@ -63,4 +63,14 @@ static inline void tegra_auto_hotplug_governor(unsigned int cpu_freq,
{ }
#endif
+#ifdef CONFIG_TEGRA_EDP_LIMITS
+bool tegra_cpu_edp_favor_up(unsigned int n, int mp_overhead);
+bool tegra_cpu_edp_favor_down(unsigned int n, int mp_overhead);
+#else
+static inline bool tegra_cpu_edp_favor_up(unsigned int n, int mp_overhead)
+{ return true; }
+static inline bool tegra_cpu_edp_favor_down(unsigned int n, int mp_overhead)
+{ return false; }
+#endif
+
#endif /* __MACH_TEGRA_CPU_TEGRA_H */