diff options
author | Alex Frid <afrid@nvidia.com> | 2011-06-18 00:35:46 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:47:14 -0800 |
commit | 5aa5d0a98a577476ae655fe3c3bdc87432befa9b (patch) | |
tree | 5cc02ef4902da16e5a874eb80537960c3f9e0dce /arch/arm/mach-tegra/cpu-tegra.c | |
parent | 881fb222cc9cb964103e494bd42505d93102f01a (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 <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Rebase-Id: R59fb213db14d868bec0ca701e1c73dd9d1918e82
Diffstat (limited to 'arch/arm/mach-tegra/cpu-tegra.c')
-rw-r--r-- | arch/arm/mach-tegra/cpu-tegra.c | 4 |
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 = 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 |