video: omap: add loop exit conditions to the dpll setup
authorDario Binacchi <dariobin@libero.it>
Sat, 22 Feb 2020 13:05:43 +0000 (14:05 +0100)
committerLokesh Vutla <lokeshvutla@ti.com>
Tue, 3 Mar 2020 07:38:14 +0000 (13:08 +0530)
In case of null error, round rate is equal to target rate, so it is
useless to continue to search the DPLL setup parameters to get the
desidered pixel clock rate.

Signed-off-by: Dario Binacchi <dariobin@libero.it>
Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
drivers/video/am335x-fb.c

index bbe965a..684223f 100644 (file)
@@ -160,7 +160,7 @@ int am335xfb_init(struct am335x_lcdpanel *panel)
        err = panel->pxl_clk;
        err_r = err;
 
-       for (d = 2; d < 255; d++) {
+       for (d = 2; err_r && d < 255; d++) {
                for (m = 2; m < 2047; m++) {
                        if ((V_OSCK * m) < (panel->pxl_clk * d))
                                continue;
@@ -176,6 +176,8 @@ int am335xfb_init(struct am335x_lcdpanel *panel)
                                dpll_disp.m = m;
                                dpll_disp.n = n;
                                best_d = d;
+                               if (err_r == 0)
+                                       break;
                        }
                }
        }