FB: sync with N800 tree (fix RFBI frequency lookup in tearing sync setup)
authorImre Deak <imre.deak@solidboot.com>
Mon, 5 Mar 2007 12:17:47 +0000 (14:17 +0200)
committerTony Lindgren <tony@atomide.com>
Thu, 29 Mar 2007 13:34:24 +0000 (09:34 -0400)
Different DPLL multiplier / divider pairs can result in frequencies
that are not exact matches of the values given by TI. When looking up
the table of known L4 / DSS1 values allow for a small difference.

Signed-off-by: Imre Deak <imre.deak@solidboot.com>
drivers/video/omap/rfbi.c

index 917f616..05164ca 100644 (file)
@@ -213,8 +213,11 @@ static unsigned long rfbi_get_max_tx_rate(void)
        dss1_rate = clk_get_rate(rfbi.dss1_fck) / 1000000;
 
        for (i = 0; i < ARRAY_SIZE(ftab); i++) {
-               if (ftab[i].l4_clk == l4_rate &&
-                   ftab[i].dss1_clk == dss1_rate) {
+               /* Use a window instead of an exact match, to account
+                * for different DPLL multiplier / divider pairs.
+                */
+               if (abs(ftab[i].l4_clk - l4_rate) < 3 &&
+                   abs(ftab[i].dss1_clk - dss1_rate) < 3) {
                        min_l4_ticks = ftab[i].min_l4_ticks;
                        break;
                }