summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/clk_gm20b.c
diff options
context:
space:
mode:
authorAlex Frid <afrid@nvidia.com>2014-10-01 19:24:58 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:34 -0400
commitf65d2dde977147801a283d0eebe1f7dcc917f2ff (patch)
tree8e938bb26569bacf5808129d4d6992772e9b1b84 /drivers/gpu/nvgpu/gm20b/clk_gm20b.c
parent2d0bcfa3318c276dba5100510e59c5c2fa62957f (diff)
gpu: nvgpu: Change quantize order in GPCPLL NA mode
When calculating fractional divider in GPCPLL NA mode quantize voltage before (used to do it after) applying DFS_COEFF, to follow h/w order. Bug 1555318 Change-Id: I37be2bc73cd1f849695b94acc4ff21caf26e8b97 Signed-off-by: Alex Frid <afrid@nvidia.com> Reviewed-on: http://git-master/r/552741 Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/clk_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/clk_gm20b.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c
index fbdf9368..16f88d62 100644
--- a/drivers/gpu/nvgpu/gm20b/clk_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/clk_gm20b.c
@@ -302,10 +302,11 @@ static void clk_config_dvfs_ndiv(int mv, u32 n_eff, struct na_dvfs *d)
302 u32 rem, rem_range; 302 u32 rem, rem_range;
303 struct pll_parms *p = &gpc_pll_params; 303 struct pll_parms *p = &gpc_pll_params;
304 304
305 det_delta = (mv * 1000 - d->uv_cal); 305 det_delta = DIV_ROUND_CLOSEST(mv * 1000 - p->uvdet_offs,
306 det_delta = min(det_delta, d->dfs_det_max * p->uvdet_slope); 306 p->uvdet_slope);
307 det_delta -= d->dfs_ext_cal;
308 det_delta = min(det_delta, d->dfs_det_max);
307 det_delta = det_delta * d->dfs_coeff; 309 det_delta = det_delta * d->dfs_coeff;
308 det_delta = DIV_ROUND_CLOSEST(det_delta, p->uvdet_slope);
309 310
310 n = (int)(n_eff << DFS_DET_RANGE) - det_delta; 311 n = (int)(n_eff << DFS_DET_RANGE) - det_delta;
311 BUG_ON((n < 0) || (n > (p->max_N << DFS_DET_RANGE))); 312 BUG_ON((n < 0) || (n > (p->max_N << DFS_DET_RANGE)));