path: root/arch/arm/mach-tegra/cpu-tegra.c
diff options
authorAlex Frid <>2011-06-18 00:35:46 -0700
committerDan Willemsen <>2011-11-30 21:47:14 -0800
commit5aa5d0a98a577476ae655fe3c3bdc87432befa9b (patch)
tree5cc02ef4902da16e5a874eb80537960c3f9e0dce /arch/arm/mach-tegra/cpu-tegra.c
parent881fb222cc9cb964103e494bd42505d93102f01a (diff)
ARM: tegra: dvfs: Update Tegra3 cpufreq table selection
- For selection of cpufreq scaling table used top-most rate in G CPU dvfs table, instead of G CPU max rate. Commonly the above rates are the same, however, in case when PMU limitations on core voltage indirectly (VDD_CPU on VDD_CORE dependency) lower cpu max rate, the top-most dvfs rate should be used for table selection, and the max rate clipped to table entry. - Replaced BUGs in table selection implementation with errors. Thus, when no table is found cpufreq is not installed, but the system boots with respective error messages. - Step up suspend frequency index in cpufreq tables to reduce suspend entry latency (the selected rate is still low enough to work under Vmin voltage setting). Original-Change-Id: I45db19dbf5b48cef80db35663db2df3b68473993 Reviewed-on: http://git-master/r/37415 Reviewed-by: Varun Colbert <> Tested-by: Varun Colbert <> Rebase-Id: R59fb213db14d868bec0ca701e1c73dd9d1918e82
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra.c')
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/arch/arm/mach-tegra/cpu-tegra.c
index 8280d7e9e76b..d032205e1146 100644
--- a/arch/arm/mach-tegra/cpu-tegra.c
+++ b/arch/arm/mach-tegra/cpu-tegra.c
@@ -581,7 +581,9 @@ static int __init tegra_cpufreq_init(void)
struct tegra_cpufreq_table_data *table_data =
- BUG_ON(!table_data);
+ if (IS_ERR_OR_NULL(table_data))
+ return -EINVAL;
suspend_index = table_data->suspend_index;