drm/nouveau/clk/gk20a: reorganize MNP calculation a bit
authorAlexandre Courbot <acourbot@nvidia.com>
Wed, 1 Jun 2016 08:39:22 +0000 (17:39 +0900)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 14 Jul 2016 01:53:25 +0000 (11:53 +1000)
Move variables declarations to their actual scope of use, and simplify
code a bit.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk20a.c

index 166f51c..4b9e7ec 100644 (file)
@@ -163,16 +163,13 @@ gk20a_pllg_calc_mnp(struct gk20a_clk *clk, unsigned long rate)
        target_clk_f = rate * 2 / KHZ;
        ref_clk_f = clk->parent_rate / KHZ;
 
-       max_vco_f = clk->params->max_vco;
+       target_vco_f = target_clk_f + target_clk_f / 50;
+       max_vco_f = max(clk->params->max_vco, target_vco_f);
        min_vco_f = clk->params->min_vco;
        best_m = clk->params->max_m;
        best_n = clk->params->min_n;
        best_pl = clk->params->min_pl;
 
-       target_vco_f = target_clk_f + target_clk_f / 50;
-       if (max_vco_f < target_vco_f)
-               max_vco_f = target_vco_f;
-
        /* min_pl <= high_pl <= max_pl */
        high_pl = (max_vco_f + target_vco_f - 1) / target_vco_f;
        high_pl = min(high_pl, clk->params->max_pl);
@@ -195,9 +192,7 @@ gk20a_pllg_calc_mnp(struct gk20a_clk *clk, unsigned long rate)
                target_vco_f = target_clk_f * clk->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;
+                       u32 u_f = ref_clk_f / m;
 
                        if (u_f < clk->params->min_u)
                                break;
@@ -211,6 +206,8 @@ gk20a_pllg_calc_mnp(struct gk20a_clk *clk, unsigned long rate)
                                break;
 
                        for (; n <= n2; n++) {
+                               u32 vco_f;
+
                                if (n < clk->params->min_n)
                                        continue;
                                if (n > clk->params->max_n)