diff options
author | Alex Frid <afrid@nvidia.com> | 2011-03-30 18:02:13 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-04-26 15:54:59 -0700 |
commit | abe026f5803b18c177d6369380acbc1478ca9190 (patch) | |
tree | 62226c8e4eeb493f4f25021c70d64bdf92c0d644 /arch/arm/mach-tegra/cpu-tegra.c | |
parent | 2f794f098e8798a31b850533882329ab35c9def6 (diff) |
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 <afrid@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Change-Id: I23820e1557d304d7a99417b99afaeb4a36c9d18f
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra.c')
-rw-r--r-- | arch/arm/mach-tegra/cpu-tegra.c | 6 |
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 87e534ad4c55..34033dba7713 100644 --- a/arch/arm/mach-tegra/cpu-tegra.c +++ b/arch/arm/mach-tegra/cpu-tegra.c @@ -213,6 +213,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; @@ -220,7 +224,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); |