diff options
-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 /* |