summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Perez Olivares <x0081762@ti.com>2010-04-16 12:19:35 -0500
committerRicardo Perez Olivares <x0081762@ti.com>2010-04-16 12:19:35 -0500
commitf147102f80979c6130246486132173cc7b8c63ad (patch)
tree5bbb0f463a9eae7be2c46a1444645c319cc34561
parentd0ca5a9cbb057a8311c414ef0b9786ef8ceb531c (diff)
parent12e5ffce7afb76cc85cab5109d45b04545333ead (diff)
Merge branch 'display-next' of git://dev.omapzoom.org/pub/scm/axelcx/kernel-display into L24x5P1ti-2.6.33-rc2-omap4-L24.5-p1
-rw-r--r--drivers/video/omap2/dss/dpi.c2
-rwxr-xr-xdrivers/video/omap2/dss/dsi.c13
2 files changed, 10 insertions, 5 deletions
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 4c5b6dd0636c..857e7194811f 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -171,7 +171,9 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
err2:
dss_select_clk_source_dsi(lcd_channel_ix, false, false);
err1:
+#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
dsi_pll_uninit(lcd_channel_ix);
+#endif
err0:
dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
return r;
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index fc15f66beba4..e6ac4867b152 100755
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -3044,6 +3044,7 @@ static void dsi_framedone_irq_callback(void *data, u32 mask)
/* SIDLEMODE back to smart-idle */
dispc_enable_sidle();
dsi_1.framedone_received = true;
+ udelay(100);
wake_up(&dsi_1.waitqueue);
}
@@ -3056,6 +3057,7 @@ static void dsi2_framedone_irq_callback(void *data, u32 mask)
/* SIDLEMODE back to smart-idle */
dispc_enable_sidle();
dsi_2.framedone_received = true;
+ udelay(100);
wake_up(&dsi_2.waitqueue);
}
@@ -3170,6 +3172,7 @@ static void dsi_handle_framedone(enum dsi lcd_ix)
* make sure that the transfer has been completed. It would be more
* optimal, but more complex, to wait only just before starting next
* transfer. */
+#if 0
r = dsi_vc_send_bta_sync(lcd_ix, channel);
if (r)
DSSERR("BTA after framedone failed\n");
@@ -3179,7 +3182,7 @@ static void dsi_handle_framedone(enum dsi lcd_ix)
/*DSSERR("Received error during frame transfer:\n");*/
dsi_vc_flush_receive_data(lcd_ix, 0);
}
-
+#endif
#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
dispc_fake_vsync_irq(lcd_ix);
#endif
@@ -3253,10 +3256,10 @@ static int dsi_update_thread(void *data)
*/
if (cpu_is_omap34xx())
dsi_vc_config_vp(lcd_ix, 0);
-
+ /*
if (dsi_1.te_enabled && dsi_1.use_ext_te)
device->driver->wait_for_te(device);
-
+ */
dsi_1.framedone_received = false;
dsi_update_screen_dispc(lcd_ix, device, x, y, w, h);
@@ -3388,10 +3391,10 @@ static int dsi2_update_thread(void *data)
*/
if (cpu_is_omap34xx())
dsi_vc_config_vp(lcd_ix, 0);
-
+ /*
if (dsi_2.te_enabled && dsi_2.use_ext_te)
device->driver->wait_for_te(device);
-
+ */
dsi_2.framedone_received = false;
dsi_update_screen_dispc(lcd_ix, device, x, y, w, h);