diff options
author | Alex Frid <afrid@nvidia.com> | 2011-06-18 00:35:46 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-07-01 10:46:12 -0700 |
commit | 7bdd9a4971c68170b58dc855fd71ea3a6875b7f4 (patch) | |
tree | 146f6368c54326d4ecbecc62fa0bf29eb1937739 /arch/arm/mach-tegra/cpu-tegra.c | |
parent | b5f28ca169a8f4c8667ba845fddc7742af03caa7 (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.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 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 |