]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
Merge branch 'fbdev-for-linus' of git://github.com/schandinat/linux-2.6
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 11 Sep 2012 08:28:59 +0000 (11:28 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 11 Sep 2012 08:28:59 +0000 (11:28 +0300)
Merge omapfb and OMAP SDI fixes:

* OMAPFB: fix framebuffer console colors
* OMAPDSS: Fix SDI PLL locking

Conflicts:
drivers/video/omap2/dss/sdi.c

1  2 
drivers/video/omap2/dss/sdi.c

index c87e07ebb16da2f8da845a8bf8f2764862fa6bbb,f43bfe17b3b699289152cb9ff195afcb69f137f2..66c8de4365d6fbf61eb752a4de3398947ea55dfe
@@@ -107,8 -105,21 +107,21 @@@ int omapdss_sdi_display_enable(struct o
  
        sdi_config_lcd_manager(dssdev);
  
-       dss_sdi_init(sdi.datapairs);
+       /*
+        * LCLK and PCLK divisors are located in shadow registers, and we
+        * normally write them to DISPC registers when enabling the output.
+        * However, SDI uses pck-free as source clock for its PLL, and pck-free
+        * is affected by the divisors. And as we need the PLL before enabling
+        * the output, we need to write the divisors early.
+        *
+        * It seems just writing to the DISPC register is enough, and we don't
+        * need to care about the shadow register mechanism for pck-free. The
+        * exact reason for this is unknown.
+        */
+       dispc_mgr_set_clock_div(dssdev->manager->id,
+                       &sdi.mgr_config.clock_info);
  
 -      dss_sdi_init(dssdev->phy.sdi.datapairs);
++      dss_sdi_init(sdi.datapairs);
        r = dss_sdi_enable();
        if (r)
                goto err_sdi_enable;