]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
tegra: dc: Make data output along with pixel clock.
authorRoger Hsieh <rhsieh@nvidia.com>
Tue, 3 Jul 2012 07:13:31 +0000 (15:13 +0800)
committerDan Willemsen <dwillemsen@nvidia.com>
Sat, 14 Sep 2013 08:25:22 +0000 (01:25 -0700)
After making pclk output ahead of LVDS_SHDN# , data output is later than
panel ready then caused partial black screen. Force triggered data output to
get it fixed.

Bug 972377
Bug 976081
Bug 1001434

Change-Id: Icd455d7439f622e46295158a5435286c521526aa
Signed-off-by: Roger Hsieh <rhsieh@nvidia.com>
Reviewed-on: http://git-master/r/113164
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Rebase-Id: R301e7cefb87c8b7a600692f88ff7895e6b18d033

drivers/video/tegra/dc/dc.c

index 7ae20d19b84e969ac96f84c45aae92a509e0b6c4..7a5ad3209145f08fbebc3a85db8ad20900ca2296 100644 (file)
@@ -1583,15 +1583,19 @@ static bool _tegra_dc_controller_enable(struct tegra_dc *dc)
        if (dc->out_ops && dc->out_ops->enable)
                dc->out_ops->enable(dc);
 
-       if (dc->out->postpoweron)
-               dc->out->postpoweron();
-
        /* force a full blending update */
        dc->blend.z[0] = -1;
 
        tegra_dc_ext_enable(dc->ext);
 
        trace_printk("%s:enable\n", dc->ndev->name);
+
+       tegra_dc_writel(dc, GENERAL_UPDATE, DC_CMD_STATE_CONTROL);
+       tegra_dc_writel(dc, GENERAL_ACT_REQ, DC_CMD_STATE_CONTROL);
+
+       if (dc->out->postpoweron)
+               dc->out->postpoweron();
+
        return true;
 }