Skip to content

Commit

Permalink
OMAP: DSS2: DSI: sync when disabling a display
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tomi Valkeinen committed Jul 1, 2011
1 parent 3c07cae commit 15ffa1d
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
5 changes: 1 addition & 4 deletions drivers/video/omap2/displays/panel-taal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1247,11 +1247,8 @@ static void taal_power_off(struct omap_dss_device *dssdev)
int r;

r = taal_dcs_write_0(td, DCS_DISPLAY_OFF);
if (!r) {
if (!r)
r = taal_sleep_in(td);
/* HACK: wait a bit so that the message goes through */
msleep(10);
}

if (r) {
dev_err(&dssdev->dev,
Expand Down
5 changes: 5 additions & 0 deletions drivers/video/omap2/dss/dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -4291,6 +4291,11 @@ void omapdss_dsi_display_disable(struct omap_dss_device *dssdev,

mutex_lock(&dsi->lock);

dsi_sync_vc(dsidev, 0);
dsi_sync_vc(dsidev, 1);
dsi_sync_vc(dsidev, 2);
dsi_sync_vc(dsidev, 3);

dsi_display_uninit_dispc(dssdev);

dsi_display_uninit_dsi(dssdev, disconnect_lanes, enter_ulps);
Expand Down

0 comments on commit 15ffa1d

Please sign in to comment.