diff options
author | Pavan Kunapuli <pkunapuli@nvidia.com> | 2014-01-06 15:54:59 +0530 |
---|---|---|
committer | Harry Hong <hhong@nvidia.com> | 2014-01-27 22:14:56 -0800 |
commit | 7155355d224be8661ff3bc0604dbfa1a20fffc51 (patch) | |
tree | a5be17bb38ad27343d0e8348d9096e15a92ea73e /arch | |
parent | fb4dad5a785476fe8f9178b0bcb58b1f0324c87f (diff) |
ARM: tegra: dvfs: Predict required voltage for a given freq
Exposing the tegra_dvfs_predict_millivolts interface to drivers to be
used during tuning and getting the minimum core voltage for a given
frequency.
Bug 1423423
Reviewed-on: http://git-master/r/350418
(cherry picked from commit b604de0416eab8e8c32ad9e482fd64d831fb9449)
Change-Id: Icc6492c6d91315020eaec3668e259c523acb218c
Signed-off-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-on: http://git-master/r/356522
Reviewed-by: Harry Hong <hhong@nvidia.com>
Tested-by: Harry Hong <hhong@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/dvfs.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/dvfs.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-tegra/include/mach/clk.h | 1 |
3 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/dvfs.c b/arch/arm/mach-tegra/dvfs.c index bd49a32e1a48..afa69316513a 100644 --- a/arch/arm/mach-tegra/dvfs.c +++ b/arch/arm/mach-tegra/dvfs.c @@ -575,6 +575,7 @@ int tegra_dvfs_predict_millivolts(struct clk *c, unsigned long rate) c->dvfs->dfll_millivolts : c->dvfs->millivolts; return predict_millivolts(c, millivolts, rate); } +EXPORT_SYMBOL(tegra_dvfs_predict_millivolts); int tegra_dvfs_predict_millivolts_pll(struct clk *c, unsigned long rate) { diff --git a/arch/arm/mach-tegra/dvfs.h b/arch/arm/mach-tegra/dvfs.h index 298fa9c8a310..66183f2f7496 100644 --- a/arch/arm/mach-tegra/dvfs.h +++ b/arch/arm/mach-tegra/dvfs.h @@ -205,7 +205,6 @@ void tegra_dvfs_rail_off(struct dvfs_rail *rail, ktime_t now); void tegra_dvfs_rail_on(struct dvfs_rail *rail, ktime_t now); void tegra_dvfs_rail_pause(struct dvfs_rail *rail, ktime_t delta, bool on); struct dvfs_rail *tegra_dvfs_get_rail_by_name(const char *reg_id); -int tegra_dvfs_predict_millivolts(struct clk *c, unsigned long rate); int tegra_dvfs_predict_millivolts_pll(struct clk *c, unsigned long rate); int tegra_dvfs_predict_millivolts_dfll(struct clk *c, unsigned long rate); int tegra_dvfs_core_cap_level_apply(int level); diff --git a/arch/arm/mach-tegra/include/mach/clk.h b/arch/arm/mach-tegra/include/mach/clk.h index 18f6cf76938f..54efff7e322f 100644 --- a/arch/arm/mach-tegra/include/mach/clk.h +++ b/arch/arm/mach-tegra/include/mach/clk.h @@ -42,6 +42,7 @@ void tegra_periph_reset_assert(struct clk *c); int tegra_dvfs_set_rate(struct clk *c, unsigned long rate); int tegra_dvfs_override_core_voltage(struct clk *c, int override_mv); int tegra_dvfs_set_fmax_at_vmin(struct clk *c, unsigned long f_max, int v_min); +int tegra_dvfs_predict_millivolts(struct clk *c, unsigned long rate); unsigned long clk_get_rate_all_locked(struct clk *c); #ifdef CONFIG_ARCH_TEGRA_2x_SOC |