summaryrefslogtreecommitdiff
path: root/drivers/video/omap2/dss
diff options
context:
space:
mode:
authorDoug Zobel <dzobel1@motorola.com>2013-11-15 14:29:07 -0600
committerJames Wylder <jwylder@motorola.com>2014-03-05 17:46:52 -0600
commitd2a782003a6047da120a33e6f8ee6fd33bb825d6 (patch)
tree8d20bd4ecda62a06e98993c4108456bc1acb0d0b /drivers/video/omap2/dss
parent32fd2d36d2464056d4522a9c02797b7c2b2e884f (diff)
downloadolio-linux-3.10-d2a782003a6047da120a33e6f8ee6fd33bb825d6.tar.xz
olio-linux-3.10-d2a782003a6047da120a33e6f8ee6fd33bb825d6.zip
CW integration and minnow bringup
* create minnow machine type * create Android makefile * add pre-commit syntax check * enable -Werror * Add drivers: CPCAP, TPS65xxx, m4sensorhub, atmxt, lm3535, usb gadget, minnow display, TI 12xx wireless Change-Id: I7962f5e1256715f2452aed5a62a4f2f2383d5046
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r--drivers/video/omap2/dss/dsi.c26
1 files changed, 15 insertions, 11 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index a73dedc3310..749aa38605a 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -4272,10 +4272,6 @@ static void dsi_update_screen_dispc(struct platform_device *dsidev)
dsi_perf_mark_start(dsidev);
- r = schedule_delayed_work(&dsi->framedone_timeout_work,
- msecs_to_jiffies(250));
- BUG_ON(r == 0);
-
dss_mgr_set_timings(mgr, &dsi->timings);
dss_mgr_start_update(mgr);
@@ -4291,6 +4287,11 @@ static void dsi_update_screen_dispc(struct platform_device *dsidev)
mod_timer(&dsi->te_timer, jiffies + msecs_to_jiffies(250));
#endif
}
+ /* Start timer at bottom to avoid dispc update start delayed sometimes
+ */
+ r = schedule_delayed_work(&dsi->framedone_timeout_work,
+ msecs_to_jiffies(250));
+ BUG_ON(r == 0);
}
#ifdef DSI_CATCH_MISSING_TE
@@ -4593,6 +4594,9 @@ int omapdss_dsi_display_enable(struct omap_dss_device *dssdev)
dsi_enable_pll_clock(dsidev, 1);
+ dsi_vc_enable(dsidev, 0, 0);
+ dsi_vc_enable(dsidev, 1, 0);
+
_dsi_initialize_irq(dsidev);
r = dsi_display_init_dsi(dsidev);
@@ -5521,13 +5525,6 @@ static int omap_dsihw_probe(struct platform_device *dsidev)
return -ENODEV;
}
- r = devm_request_irq(&dsidev->dev, dsi->irq, omap_dsi_irq_handler,
- IRQF_SHARED, dev_name(&dsidev->dev), dsi->pdev);
- if (r < 0) {
- DSSERR("request_irq failed\n");
- return r;
- }
-
/* DSI VCs initialization */
for (i = 0; i < ARRAY_SIZE(dsi->vc); i++) {
dsi->vc[i].source = DSI_VC_SOURCE_L4;
@@ -5547,6 +5544,13 @@ static int omap_dsihw_probe(struct platform_device *dsidev)
if (r)
goto err_runtime_get;
+ r = devm_request_irq(&dsidev->dev, dsi->irq, omap_dsi_irq_handler,
+ IRQF_SHARED, dev_name(&dsidev->dev), dsi->pdev);
+ if (r < 0) {
+ DSSERR("request_irq failed\n");
+ goto err_runtime_get;
+ }
+
rev = dsi_read_reg(dsidev, DSI_REVISION);
dev_dbg(&dsidev->dev, "OMAP DSI rev %d.%d\n",
FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));