diff options
author | Alexandre Courbot <acourbot@nvidia.com> | 2016-02-12 14:05:01 +0900 |
---|---|---|
committer | Alexandre Courbot <acourbot@nvidia.com> | 2016-03-12 11:02:07 +0900 |
commit | b95a749cdb38b4a68798cf8866c7b9b49917a46d (patch) | |
tree | 1ccc3ebf864324e93d5921b7a1d7a7322c33a8d1 | |
parent | c4aa324164eeb904af4c8ee17a67fbabcde724c2 (diff) | |
download | nouveau-b95a749cdb38b4a68798cf8866c7b9b49917a46d.tar.gz |
clk/gk20a: reorganize variables in gk20a_pllg_calc_mnp()
Move some variables declarations to the scope where they are actually
used to make the code easier to follow.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
-rw-r--r-- | drm/nouveau/nvkm/subdev/clk/gk20a.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drm/nouveau/nvkm/subdev/clk/gk20a.c b/drm/nouveau/nvkm/subdev/clk/gk20a.c index eaf7939c6..0c2b07891 100644 --- a/drm/nouveau/nvkm/subdev/clk/gk20a.c +++ b/drm/nouveau/nvkm/subdev/clk/gk20a.c @@ -153,11 +153,9 @@ gk20a_pllg_calc_mnp(struct gk20a_clk *clk, unsigned long rate) u32 target_clk_f, ref_clk_f, target_freq; u32 min_vco_f, max_vco_f; u32 low_pl, high_pl, best_pl; - u32 target_vco_f, vco_f; + u32 target_vco_f; u32 best_m, best_n; - u32 u_f; - u32 m, n, n2; - u32 delta, lwv, best_delta = ~0; + u32 best_delta = ~0; u32 pl; target_clk_f = rate * 2 / KHZ; @@ -202,8 +200,12 @@ gk20a_pllg_calc_mnp(struct gk20a_clk *clk, unsigned long rate) /* Select lowest possible VCO */ for (pl = low_pl; pl <= high_pl; pl++) { + u32 m, n, n2; + target_vco_f = target_clk_f * pl_to_div[pl]; for (m = clk->params->min_m; m <= clk->params->max_m; m++) { + u32 u_f, vco_f; + u_f = ref_clk_f / m; if (u_f < clk->params->min_u) @@ -226,6 +228,8 @@ gk20a_pllg_calc_mnp(struct gk20a_clk *clk, unsigned long rate) vco_f = ref_clk_f * n / m; if (vco_f >= min_vco_f && vco_f <= max_vco_f) { + u32 delta, lwv; + lwv = (vco_f + (pl_to_div[pl] / 2)) / pl_to_div[pl]; delta = abs(lwv - target_clk_f); |