diff options
author | Diwakar Tundlam <dtundlam@nvidia.com> | 2012-12-20 22:15:04 -0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-12-21 14:54:17 -0800 |
commit | f5e680768419f7e50f1ba9420e92d25ba0644327 (patch) | |
tree | 9e921d35ae8cf161e63ca05f405662d229607a25 /arch/arm/mach-tegra/edp.c | |
parent | 236709f23e842b994c423c4930ae856b2d2f515c (diff) |
ARM: tegra11: dvfs: EDP freq granularity to follow CPU dvfs tables
Bug 1170986
Bug 1161126
Change-Id: I8d83903a58d9099fec7b04fadc558244177ebbbb
Signed-off-by: Diwakar Tundlam <dtundlam@nvidia.com>
Reviewed-on: http://git-master/r/173531
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Peter Zu <pzu@nvidia.com>
Tested-by: Peter Zu <pzu@nvidia.com>
Reviewed-by: Aleksandr Frid <afrid@nvidia.com>
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'arch/arm/mach-tegra/edp.c')
-rw-r--r-- | arch/arm/mach-tegra/edp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/edp.c b/arch/arm/mach-tegra/edp.c index e93ff8850dde..ff6d134b6c3f 100644 --- a/arch/arm/mach-tegra/edp.c +++ b/arch/arm/mach-tegra/edp.c @@ -449,13 +449,13 @@ unsigned int edp_calculate_maxf(struct tegra_edp_cpu_leakage_params *params, int iddq_mA, int n_cores_idx) { - unsigned int voltage_mV, freq_MHz; + unsigned int voltage_mV, freq_KHz; unsigned int cur_effective = regulator_cur - edp_reg_override_mA; int f, i, j, k; s64 leakage_mA, dyn_mA, leakage_calc_step; for (f = freq_voltage_lut_size - 1; f >= 0; f--) { - freq_MHz = freq_voltage_lut[f].freq / 1000000; + freq_KHz = freq_voltage_lut[f].freq / 1000; voltage_mV = freq_voltage_lut[f].voltage_mV; /* Calculate leakage current */ @@ -491,7 +491,7 @@ unsigned int edp_calculate_maxf(struct tegra_edp_cpu_leakage_params *params, leakage_mA = div64_s64(leakage_mA, 1000000); /* Calculate dynamic current */ - dyn_mA = voltage_mV * freq_MHz; + dyn_mA = voltage_mV * freq_KHz / 1000; /* Convert mV to V */ dyn_mA = div64_s64(dyn_mA, 1000); dyn_mA *= params->dyn_consts_n[n_cores_idx]; @@ -499,7 +499,7 @@ unsigned int edp_calculate_maxf(struct tegra_edp_cpu_leakage_params *params, dyn_mA = div64_s64(dyn_mA, 1000000); if ((leakage_mA + dyn_mA) <= cur_effective) - return freq_MHz * 1000; + return freq_KHz; } return 0; } |