ARM: tegra: dvfs: Add dvfs thermal dependency
authorAlex Frid <afrid@nvidia.com>
Fri, 13 Sep 2013 03:15:41 +0000 (20:15 -0700)
committerAjay Nandakumar <anandakumarm@nvidia.com>
Thu, 3 Oct 2013 13:47:36 +0000 (18:47 +0530)
commitd2324dea6f3ccb23d06946e6b2c4ede6d7a5036f
tree8814d3c35758784207ca468981847eeaebcabe49
parente41404be5e5c80f01fa13932eaa0f0c6a21b3d1e
ARM: tegra: dvfs: Add dvfs thermal dependency

Added temperature dependency to dynamic voltage scaling. When thermal
dvfs table is installed for the particular clock, voltage required to
run at any frequency is no longer assumed constant (i.e., worst case)
across entire operational temperature range, but determined according
to temperature index set by thermal dvfs cooling device.

The following limitations are enforced by current implementation:
- thermal dvfs is applied only when rail is in pll mode (in dfll mode
voltage on temperature dependency is taken care of by dfll h/w).
- tabulated voltages at any temperature must increase monotonically
with frequency (monotonicity is not expected at iso frequency across
temperature ranges).
- voltage for any frequency/temperature combination must be within the
respective rail minimum/maximum limits
- thermal dvfs is supported, for now, only on GPU clocks

Bug 1273253

Change-Id: I4cf2ff1ae862c32c2d2fc57b9b4c98e316539024
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/278103
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
(cherry picked from commit e0baf0bf9a692894e49c4d59c15a52f2fd405aa6)
Signed-off-by: Ajay Nandakumar <anandakumarm@nvidia.com>
arch/arm/mach-tegra/dvfs.c
arch/arm/mach-tegra/dvfs.h