aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dsi.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2010-10-11 04:33:30 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-05-11 07:20:17 -0400
commit22d6d676261a5e204a7078df21459747750c92fb (patch)
tree45b0e5811f00a83123bc6551c1f493cbc2762e16 /drivers/video/omap2/dss/dsi.c
parent03329ace1dc7dc9319f6f405381d898fc66fb2cb (diff)
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/dss/dsi.c')
-rw-r--r--drivers/video/omap2/dss/dsi.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 8bc443bae6b1..f54839fa50b1 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -3763,9 +3763,9 @@ err0:
3763} 3763}
3764 3764
3765static void dsi_display_uninit_dsi(struct omap_dss_device *dssdev, 3765static void dsi_display_uninit_dsi(struct omap_dss_device *dssdev,
3766 bool disconnect_lanes) 3766 bool disconnect_lanes, bool enter_ulps)
3767{ 3767{
3768 if (!dsi.ulps_enabled) 3768 if (enter_ulps && !dsi.ulps_enabled)
3769 dsi_enter_ulps(); 3769 dsi_enter_ulps();
3770 3770
3771 /* disable interface */ 3771 /* disable interface */
@@ -3848,7 +3848,7 @@ err0:
3848EXPORT_SYMBOL(omapdss_dsi_display_enable); 3848EXPORT_SYMBOL(omapdss_dsi_display_enable);
3849 3849
3850void omapdss_dsi_display_disable(struct omap_dss_device *dssdev, 3850void omapdss_dsi_display_disable(struct omap_dss_device *dssdev,
3851 bool disconnect_lanes) 3851 bool disconnect_lanes, bool enter_ulps)
3852{ 3852{
3853 DSSDBG("dsi_display_disable\n"); 3853 DSSDBG("dsi_display_disable\n");
3854 3854
@@ -3858,7 +3858,7 @@ void omapdss_dsi_display_disable(struct omap_dss_device *dssdev,
3858 3858
3859 dsi_display_uninit_dispc(dssdev); 3859 dsi_display_uninit_dispc(dssdev);
3860 3860
3861 dsi_display_uninit_dsi(dssdev, disconnect_lanes); 3861 dsi_display_uninit_dsi(dssdev, disconnect_lanes, enter_ulps);
3862 3862
3863 enable_clocks(0); 3863 enable_clocks(0);
3864 dsi_enable_pll_clock(0); 3864 dsi_enable_pll_clock(0);