ARM: tegra: power: Re-factor core voltage capping
authorAlex Frid <afrid@nvidia.com>
Tue, 2 Apr 2013 00:21:16 +0000 (17:21 -0700)
committerRiham Haidar <rhaidar@nvidia.com>
Wed, 15 May 2013 01:28:42 +0000 (18:28 -0700)
commitd803d67de4cfe12e7544a3c7303e30c0e79b6708
treee16753fc7a325a92a1e82e2c0702bbc63b60720e
parent2ac5b251280f85313e891bec97c92d624144cbc0
ARM: tegra: power: Re-factor core voltage capping

Re-factored core voltage capping APIs:

- Collapsed set level and enable APIs into one set level interface;
non-zero level automatically enables capping, and zero level disables
capping. Attempt to apply new non-zero level before the previous one
is disabled is rejected.
- Added error reporting and propagation through api layers
- Allowed to set cap voltage at nominal vdd core level even if voltage
to frequency mapping is not ready (no clock rates are capped at nominal
voltage, anyway).

Core voltage capping APIs are not used by any kernel client (designated
to vdd core override mechanism, yet to be added). Hence, function names
and signatures changes are transparent, for now. User space vdd core
capping sysfs nodes are not affected and kept backward compatible.

Bug 1246712

Change-Id: If0391529bb9a2f0c5ed096b51e19a222d96effeb
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/215334
Reviewed-by: Riham Haidar <rhaidar@nvidia.com>
Tested-by: Riham Haidar <rhaidar@nvidia.com>
arch/arm/mach-tegra/dvfs.h
arch/arm/mach-tegra/tegra_core_volt_cap.c