summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPeter Boonstoppel <pboonstoppel@nvidia.com>2011-08-16 12:01:29 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:24 -0800
commit61bb41b5a8d81ffaff6a36de0d994a39fcbcb02f (patch)
tree7344b0bd174b7801222ff625d86eee5cd8ed06b5 /arch
parent4cfb418cdf0769de28c70852d7f1008cdc0b82d3 (diff)
ARM: tegra: power: Don't clip EDP limits to cpufreq tables
Always use maximum possible frequency when applying EDP capping. Toggled through CONFIG_TEGRA_EDP_EXACT_FREQ. Bug 863761 Original-Change-Id: I327440546991ad4f3abc78100a3a18017f3464b6 Reviewed-on: http://git-master/r/47169 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rdafcd7202975dd85631b4d281012343c5cda08be
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/cpu-tegra.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/arch/arm/mach-tegra/cpu-tegra.c
index b0163f0311b5..496a1582cd4f 100644
--- a/arch/arm/mach-tegra/cpu-tegra.c
+++ b/arch/arm/mach-tegra/cpu-tegra.c
@@ -105,15 +105,18 @@ static unsigned int edp_limit;
static void edp_update_limit(void)
{
- int i;
unsigned int limit = cpumask_weight(&edp_cpumask);
if (!cpu_edp_limits)
return;
BUG_ON((edp_thermal_index >= cpu_edp_limits_size) || (limit == 0));
+#ifdef CONFIG_TEGRA_EDP_EXACT_FREQ
+ edp_limit = cpu_edp_limits[edp_thermal_index].freq_limits[limit - 1];
+#else
limit = cpu_edp_limits[edp_thermal_index].freq_limits[limit - 1];
+ int i;
for (i = 0; freq_table[i].frequency != CPUFREQ_TABLE_END; i++) {
if (freq_table[i].frequency > limit) {
break;
@@ -121,6 +124,7 @@ static void edp_update_limit(void)
}
BUG_ON(i == 0); /* min freq above the limit or table empty */
edp_limit = freq_table[i-1].frequency;
+#endif
}
static unsigned int edp_governor_speed(unsigned int requested_speed)