From 5a8cb95d768cfd40252cf3b1cd15a97f52db5143 Mon Sep 17 00:00:00 2001 From: Alex Frid Date: Tue, 23 Aug 2011 22:52:42 -0700 Subject: 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 Reviewed-by: Peter Boonstoppel Tested-by: Peter Boonstoppel Tested-by: Aleksandr Frid Reviewed-by: Yu-Huan Hsu Reviewed-by: Diwakar Tundlam Rebase-Id: Rcfefb570c30bf78f6eae155c3f3f7547ac64f128 --- arch/arm/mach-tegra/cpu-tegra.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'arch/arm/mach-tegra/cpu-tegra.h') diff --git a/arch/arm/mach-tegra/cpu-tegra.h b/arch/arm/mach-tegra/cpu-tegra.h index b47828f3c7b9..9a1c05d27ff6 100644 --- a/arch/arm/mach-tegra/cpu-tegra.h +++ b/arch/arm/mach-tegra/cpu-tegra.h @@ -65,4 +65,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 */ -- cgit v1.2.3