summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Hsieh <rhsieh@nvidia.com>2012-07-03 15:13:31 +0800
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-07-13 05:46:57 -0700
commit409dce46df80f7ace06187c5879e15aa99494a9a (patch)
treea36be97ed1d2d8c056c8470b53d56b0ee085c5ec
parentdce8537432468a214e1ce99fd2fa5a84798ee4da (diff)
tegra: dc: Make data output along with pixel clock.
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>
-rw-r--r--drivers/video/tegra/dc/dc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/tegra/dc/dc.c b/drivers/video/tegra/dc/dc.c
index 77cd19e6f870..1f7e2ce67682 100644
--- a/drivers/video/tegra/dc/dc.c
+++ b/drivers/video/tegra/dc/dc.c
@@ -1286,15 +1286,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;
}