summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 7ff2a4143280..90745de96c6b 100644
--- a/arch/arm/mach-tegra/cpu-tegra.c
+++ b/arch/arm/mach-tegra/cpu-tegra.c
@@ -360,7 +360,8 @@ static int tegra_update_cpu_speed(unsigned long rate)
* Vote on memory bus frequency based on cpu frequency
* This sets the minimum frequency, display or avp may request higher
*/
- clk_set_rate(emc_clk, tegra_emc_to_cpu_ratio(freqs.new));
+ if (freqs.old < freqs.new)
+ clk_set_rate(emc_clk, tegra_emc_to_cpu_ratio(freqs.new));
for_each_online_cpu(freqs.cpu)
cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
@@ -380,6 +381,9 @@ static int tegra_update_cpu_speed(unsigned long rate)
for_each_online_cpu(freqs.cpu)
cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
+ if (freqs.old > freqs.new)
+ clk_set_rate(emc_clk, tegra_emc_to_cpu_ratio(freqs.new));
+
return 0;
}