Skip to content

Commit

Permalink
OMAP: DSS2: DSI: add parameter to enter ulps on disable
Browse files Browse the repository at this point in the history
Add parameter to omapdss_dsi_display_disable() which the panel driver
can use to tell if the DSI lanes should be put to ULPS before disabling
the interface.

This can be used to skip ULPS entry in cases where the panel doesn't
care about ULPS state, for example when the panel will be reset, or when
the display interface will be enabled again right after the disable.

This will speed up the operation considerably in cases where entering
ULPS would fail with timeout, and the panel driver isn't even interested
in entering ULPS.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
  • Loading branch information
Tomi Valkeinen committed May 11, 2011
1 parent 03329ac commit 22d6d67
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions drivers/video/omap2/displays/panel-taal.c
Original file line number Diff line number Diff line change
Expand Up @@ -932,7 +932,7 @@ static int taal_power_on(struct omap_dss_device *dssdev)

taal_hw_reset(dssdev);

omapdss_dsi_display_disable(dssdev, true);
omapdss_dsi_display_disable(dssdev, true, false);
err0:
return r;
}
Expand All @@ -955,7 +955,7 @@ static void taal_power_off(struct omap_dss_device *dssdev)
taal_hw_reset(dssdev);
}

omapdss_dsi_display_disable(dssdev, true);
omapdss_dsi_display_disable(dssdev, true, false);

td->enabled = 0;
}
Expand Down
8 changes: 4 additions & 4 deletions drivers/video/omap2/dss/dsi.c
Original file line number Diff line number Diff line change
Expand Up @@ -3763,9 +3763,9 @@ static int dsi_display_init_dsi(struct omap_dss_device *dssdev)
}

static void dsi_display_uninit_dsi(struct omap_dss_device *dssdev,
bool disconnect_lanes)
bool disconnect_lanes, bool enter_ulps)
{
if (!dsi.ulps_enabled)
if (enter_ulps && !dsi.ulps_enabled)
dsi_enter_ulps();

/* disable interface */
Expand Down Expand Up @@ -3848,7 +3848,7 @@ int omapdss_dsi_display_enable(struct omap_dss_device *dssdev)
EXPORT_SYMBOL(omapdss_dsi_display_enable);

void omapdss_dsi_display_disable(struct omap_dss_device *dssdev,
bool disconnect_lanes)
bool disconnect_lanes, bool enter_ulps)
{
DSSDBG("dsi_display_disable\n");

Expand All @@ -3858,7 +3858,7 @@ void omapdss_dsi_display_disable(struct omap_dss_device *dssdev,

dsi_display_uninit_dispc(dssdev);

dsi_display_uninit_dsi(dssdev, disconnect_lanes);
dsi_display_uninit_dsi(dssdev, disconnect_lanes, enter_ulps);

enable_clocks(0);
dsi_enable_pll_clock(0);
Expand Down
2 changes: 1 addition & 1 deletion include/video/omapdss.h
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,7 @@ void omap_dsi_release_vc(struct omap_dss_device *dssdev, int channel);

int omapdss_dsi_display_enable(struct omap_dss_device *dssdev);
void omapdss_dsi_display_disable(struct omap_dss_device *dssdev,
bool disconnect_lanes);
bool disconnect_lanes, bool enter_ulps);

int omapdss_dpi_display_enable(struct omap_dss_device *dssdev);
void omapdss_dpi_display_disable(struct omap_dss_device *dssdev);
Expand Down

0 comments on commit 22d6d67

Please sign in to comment.