diff options
| author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-06-16 07:34:06 -0400 |
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-07-01 05:07:13 -0400 |
| commit | 15ffa1dac53820bb712851d329ba465f74b00f76 (patch) | |
| tree | 7f4f10e60922b9a1a7c114600b04eba17f89a792 /drivers/video | |
| parent | 3c07cae2cccc4e40ff66521701a3c8eeda8726e1 (diff) | |
OMAP: DSS2: DSI: sync when disabling a display
When the panel driver calls omapdss_dsi_display_disable() it is possible
that there are still some unsent packets in the TX fifo.
Add dsi_sync_vc() calls in the beginning of
omapdss_dsi_display_disable() to make sure the TX fifos are empty.
This allows us to remove the msleep(10) hack from panel-taal.c
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
| -rw-r--r-- | drivers/video/omap2/displays/panel-taal.c | 5 | ||||
| -rw-r--r-- | drivers/video/omap2/dss/dsi.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c index 4cb0449d509..4e888ac09b3 100644 --- a/drivers/video/omap2/displays/panel-taal.c +++ b/drivers/video/omap2/displays/panel-taal.c | |||
| @@ -1247,11 +1247,8 @@ static void taal_power_off(struct omap_dss_device *dssdev) | |||
| 1247 | int r; | 1247 | int r; |
| 1248 | 1248 | ||
| 1249 | r = taal_dcs_write_0(td, DCS_DISPLAY_OFF); | 1249 | r = taal_dcs_write_0(td, DCS_DISPLAY_OFF); |
| 1250 | if (!r) { | 1250 | if (!r) |
| 1251 | r = taal_sleep_in(td); | 1251 | r = taal_sleep_in(td); |
| 1252 | /* HACK: wait a bit so that the message goes through */ | ||
| 1253 | msleep(10); | ||
| 1254 | } | ||
| 1255 | 1252 | ||
| 1256 | if (r) { | 1253 | if (r) { |
| 1257 | dev_err(&dssdev->dev, | 1254 | dev_err(&dssdev->dev, |
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c index 4496d09315c..2881399be93 100644 --- a/drivers/video/omap2/dss/dsi.c +++ b/drivers/video/omap2/dss/dsi.c | |||
| @@ -4291,6 +4291,11 @@ void omapdss_dsi_display_disable(struct omap_dss_device *dssdev, | |||
| 4291 | 4291 | ||
| 4292 | mutex_lock(&dsi->lock); | 4292 | mutex_lock(&dsi->lock); |
| 4293 | 4293 | ||
| 4294 | dsi_sync_vc(dsidev, 0); | ||
| 4295 | dsi_sync_vc(dsidev, 1); | ||
| 4296 | dsi_sync_vc(dsidev, 2); | ||
| 4297 | dsi_sync_vc(dsidev, 3); | ||
| 4298 | |||
| 4294 | dsi_display_uninit_dispc(dssdev); | 4299 | dsi_display_uninit_dispc(dssdev); |
| 4295 | 4300 | ||
| 4296 | dsi_display_uninit_dsi(dssdev, disconnect_lanes, enter_ulps); | 4301 | dsi_display_uninit_dsi(dssdev, disconnect_lanes, enter_ulps); |
