This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: ccs-pll: End search if there are no better values available
Author:  Sakari Ailus <[email protected]>
Date:    Tue Sep 1 13:11:11 2020 +0200

The VT divisor search can be ended if we've already found the value that
corresponds exactly the total divisor, as there are no better (lower)
values available.

Signed-off-by: Sakari Ailus <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>

 drivers/media/i2c/ccs-pll.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/i2c/ccs-pll.c b/drivers/media/i2c/ccs-pll.c
index ea0f84fc8a90..22e29127804a 100644
--- a/drivers/media/i2c/ccs-pll.c
+++ b/drivers/media/i2c/ccs-pll.c
@@ -352,6 +352,7 @@ __ccs_pll_calculate(struct device *dev, const struct 
ccs_pll_limits *lim,
                     sys_div <= max_sys_div;
                     sys_div += 2 - (sys_div & 1)) {
                        uint16_t pix_div = DIV_ROUND_UP(vt_div, sys_div);
+                       uint16_t rounded_div;
 
                        if (pix_div < lim->vt_bk.min_pix_clk_div
                            || pix_div > lim->vt_bk.max_pix_clk_div) {
@@ -363,10 +364,15 @@ __ccs_pll_calculate(struct device *dev, const struct 
ccs_pll_limits *lim,
                                continue;
                        }
 
+                       rounded_div = roundup(vt_div, best_pix_div);
+
                        /* Check if this one is better. */
-                       if (pix_div * sys_div
-                           <= roundup(vt_div, best_pix_div))
+                       if (pix_div * sys_div <= rounded_div)
                                best_pix_div = pix_div;
+
+                       /* Bail out if we've already found the best value. */
+                       if (vt_div == rounded_div)
+                               break;
                }
                if (best_pix_div < INT_MAX >> 1)
                        break;

_______________________________________________
linuxtv-commits mailing list
[email protected]
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to