summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpu-tegra.c
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2011-06-18 00:35:46 -0700
committerVarun Colbert <vcolbert@nvidia.com>2011-07-01 10:46:12 -0700
commit7bdd9a4971c68170b58dc855fd71ea3a6875b7f4 (patch)
tree146f6368c54326d4ecbecc62fa0bf29eb1937739 /arch/arm/mach-tegra/cpu-tegra.c
parentb5f28ca169a8f4c8667ba845fddc7742af03caa7 (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). Change-Id: I45db19dbf5b48cef80db35663db2df3b68473993 Reviewed-on: http://git-master/r/37415 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra.c')
-rw-r--r--arch/arm/mach-tegra/cpu-tegra.c4
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 e5b590ecf1b2..70c956b5a328 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 =
tegra_cpufreq_table_get();
- BUG_ON(!table_data);
+ if (IS_ERR_OR_NULL(table_data))
+ return -EINVAL;
+
suspend_index = table_data->suspend_index;
#ifdef CONFIG_TEGRA_THERMAL_THROTTLE