From c9d858f72439e17ec152664f9164c99878ce4b65 Mon Sep 17 00:00:00 2001 From: Alex Frid Date: Wed, 30 Mar 2011 18:02:13 -0700 Subject: ARM: tegra: clock: Add Tegra3 CPU clock round rate operation Original-Change-Id: I9e10c8d4ed074f915769ae7c77d915d6b021e2c9 Reviewed-on: http://git-master/r/24892 Reviewed-by: Aleksandr Frid Tested-by: Aleksandr Frid Reviewed-by: Scott Williams Original-Change-Id: I23820e1557d304d7a99417b99afaeb4a36c9d18f Rebase-Id: Re1b1e4f589376f52c1e9cf903ceaee7efe798ba1 --- arch/arm/mach-tegra/cpu-tegra.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-tegra/cpu-tegra.c') diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/arch/arm/mach-tegra/cpu-tegra.c index fbca349a9fe4..afdec503f034 100644 --- a/arch/arm/mach-tegra/cpu-tegra.c +++ b/arch/arm/mach-tegra/cpu-tegra.c @@ -211,6 +211,10 @@ static int tegra_update_cpu_speed(unsigned long rate) freqs.old = tegra_getspeed(0); freqs.new = rate; + rate = clk_round_rate(cpu_clk, rate * 1000); + if (!IS_ERR_VALUE(rate)) + freqs.new = rate / 1000; + if (freqs.old == freqs.new) return ret; @@ -218,7 +222,7 @@ 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(rate)); + clk_set_rate(emc_clk, tegra_emc_to_cpu_ratio(freqs.new)); for_each_online_cpu(freqs.cpu) cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); -- cgit v1.2.3