diff options
author | Alex Frid <afrid@nvidia.com> | 2012-07-26 21:40:24 -0700 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2012-08-01 18:00:04 -0700 |
commit | bc536315262eaef900429a88e19da6a607d6de4f (patch) | |
tree | 6fbb4a2a61f2ed5aacc12f3807408fb658233ce1 /arch/arm/mach-tegra/dvfs.c | |
parent | b8f610d8a591d0287d8a996915b3dfae6d8672da (diff) |
ARM: tegra: dvfs: Re-arrange dvfs late initialization
Re-arrange tegra clocks and dvfs late initialization to enforce the
following order:
- All boot clocks enabled by the boot-loader, but not set by the
drivers must be disabled before dvfs is connected to the regulators
- CPU DFLL can be initialized only after successful dvfs connection
to the regulators is established
- CPU clock sources should be aligned with kernel policies after
attempt to initialize DFLL
- CPU rate increase is not allowed until dvfs is connected to
regulators (on Tegra11 any rate change was not allowed - the policy
is relaxed now, and rate decrease is supported similarly to Tegra30)
Bug 871124
Change-Id: Ic26059327f8939bb5c082931cb7bb1203f67aa42
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/119137
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/dvfs.c')
-rw-r--r-- | arch/arm/mach-tegra/dvfs.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/dvfs.c b/arch/arm/mach-tegra/dvfs.c index cb33e3db862f..ee535b24bca2 100644 --- a/arch/arm/mach-tegra/dvfs.c +++ b/arch/arm/mach-tegra/dvfs.c @@ -696,12 +696,15 @@ int __init tegra_dvfs_late_init(void) mutex_unlock(&dvfs_lock); +#ifdef CONFIG_TEGRA_SILICON_PLATFORM + if (!connected) + return -ENODEV; +#endif register_pm_notifier(&tegra_dvfs_nb); register_reboot_notifier(&tegra_dvfs_reboot_nb); return 0; } -late_initcall(tegra_dvfs_late_init); #ifdef CONFIG_DEBUG_FS static int dvfs_tree_sort_cmp(void *p, struct list_head *a, struct list_head *b) |