summaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2010-10-11 11:33:30 +0300
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-05-11 14:20:17 +0300
commit22d6d676261a5e204a7078df21459747750c92fb (patch)
tree45b0e5811f00a83123bc6551c1f493cbc2762e16 /drivers/video/omap2
parent03329ace1dc7dc9319f6f405381d898fc66fb2cb (diff)
downloadlinux-0-day-22d6d676261a5e204a7078df21459747750c92fb.tar.gz
linux-0-day-22d6d676261a5e204a7078df21459747750c92fb.tar.xz
OMAP: DSS2: DSI: add parameter to enter ulps on disable
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>
Diffstat (limited to 'drivers/video/omap2')
-rw-r--r--drivers/video/omap2/displays/panel-taal.c4
-rw-r--r--drivers/video/omap2/dss/dsi.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
index 04d9bc94c5b31..44d73f779ebed 100644
--- a/drivers/video/omap2/displays/panel-taal.c
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -932,7 +932,7 @@ err:
taal_hw_reset(dssdev);
- omapdss_dsi_display_disable(dssdev, true);
+ omapdss_dsi_display_disable(dssdev, true, false);
err0:
return r;
}
@@ -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;
}
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 8bc443bae6b1d..f54839fa50b19 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -3763,9 +3763,9 @@ err0:
}
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 */
@@ -3848,7 +3848,7 @@ err0:
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");
@@ -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);