diff options
author | Alex Frid <afrid@nvidia.com> | 2011-05-12 20:20:05 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:42:39 -0800 |
commit | b8af16cc014cf77fa66e931b96e8cc1559ee8acb (patch) | |
tree | cb0d3b691fb7e94eb5d73d9d3a38f83028342714 | |
parent | b2cc90d880b2a5654377f49c4ba859b6b156b938 (diff) |
ARM: tegra: power: Add suspend index to cpufreq table
Original-Change-Id: I7bbe018f3786b9683cc9d4189fdcaadb9098f3f1
Reviewed-on: http://git-master/r/31456
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
Tested-by: Aleksandr Frid <afrid@nvidia.com>
Reviewed-by: Diwakar Tundlam <dtundlam@nvidia.com>
Tested-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-by: Scott Williams <scwilliams@nvidia.com>
Rebase-Id: R81da4e2834a9ae209aadba17337d484f26f67ada
-rw-r--r-- | arch/arm/mach-tegra/clock.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/cpu-tegra.c | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/clock.h b/arch/arm/mach-tegra/clock.h index 630334df684a..c6c9ee432f00 100644 --- a/arch/arm/mach-tegra/clock.h +++ b/arch/arm/mach-tegra/clock.h @@ -265,6 +265,7 @@ struct tegra_cpufreq_table_data { struct cpufreq_frequency_table *freq_table; int throttle_lowest_index; int throttle_highest_index; + int suspend_index; }; struct tegra_cpufreq_table_data *tegra_cpufreq_table_get(void); unsigned long tegra_emc_to_cpu_ratio(unsigned long cpu_rate); diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/arch/arm/mach-tegra/cpu-tegra.c index 1d61146b50cc..4c15b3af35c5 100644 --- a/arch/arm/mach-tegra/cpu-tegra.c +++ b/arch/arm/mach-tegra/cpu-tegra.c @@ -52,6 +52,7 @@ static struct clk *emc_clk; static unsigned long target_cpu_speed[CONFIG_NR_CPUS]; static DEFINE_MUTEX(tegra_cpu_lock); static bool is_suspended; +static int suspend_index; unsigned int tegra_getspeed(unsigned int cpu); static int tegra_update_cpu_speed(unsigned long rate); @@ -454,8 +455,8 @@ static int tegra_pm_notify(struct notifier_block *nb, unsigned long event, if (event == PM_SUSPEND_PREPARE) { is_suspended = true; pr_info("Tegra cpufreq suspend: setting frequency to %d kHz\n", - freq_table[0].frequency); - tegra_update_cpu_speed(freq_table[0].frequency); + freq_table[suspend_index].frequency); + tegra_update_cpu_speed(freq_table[suspend_index].frequency); } else if (event == PM_POST_SUSPEND) { is_suspended = false; tegra_cpu_edp_init(true); @@ -539,6 +540,7 @@ static int __init tegra_cpufreq_init(void) struct tegra_cpufreq_table_data *table_data = tegra_cpufreq_table_get(); BUG_ON(!table_data); + suspend_index = table_data->suspend_index; #ifdef CONFIG_TEGRA_THERMAL_THROTTLE /* |