diff options
author | Per Persson <per.xb.persson@stericsson.com> | 2011-12-02 10:55:40 +0100 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@linaro.org> | 2012-03-19 09:00:19 +0100 |
commit | b490689a8e84f30b210f4472cbd8db336e052204 (patch) | |
tree | 54bde8d165321abea753620f11fafd5681103290 | |
parent | a9e5e719e5971ae8eac7b0bd50bf12a41fe0f3b1 (diff) |
video: mcde: Avoid set_video_mode when in OFF state
set_video command is avoided when the display device is in
powered off state.
ST-Ericsson ID: 398840, 399022
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ida9ede0cafaecd4bffe18b3fb1aad88bbf07586d
Signed-off-by: Per Persson <per.xb.persson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40767
Reviewed-by: Anders BAUER <anders.bauer@stericsson.com>
Reviewed-by: QABUILD
Reviewed-by: Jimmy RUBIN <jimmy.rubin@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
-rw-r--r-- | drivers/video/mcde/mcde_dss.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/video/mcde/mcde_dss.c b/drivers/video/mcde/mcde_dss.c index eb07cf9534b..044e39ad285 100644 --- a/drivers/video/mcde/mcde_dss.c +++ b/drivers/video/mcde/mcde_dss.c @@ -341,15 +341,17 @@ EXPORT_SYMBOL(mcde_dss_try_video_mode); int mcde_dss_set_video_mode(struct mcde_display_device *ddev, struct mcde_video_mode *vmode) { - int ret; + int ret = 0; struct mcde_video_mode old_vmode; mutex_lock(&ddev->display_lock); + /* Do not perform set_video_mode if power mode is off */ + if (ddev->get_power_mode(ddev) == MCDE_DISPLAY_PM_OFF) + goto power_mode_off; + ddev->get_video_mode(ddev, &old_vmode); - if (memcmp(vmode, &old_vmode, sizeof(old_vmode)) == 0) { - ret = 0; + if (memcmp(vmode, &old_vmode, sizeof(old_vmode)) == 0) goto same_video_mode; - } ret = ddev->set_video_mode(ddev, vmode); if (ret) @@ -357,6 +359,7 @@ int mcde_dss_set_video_mode(struct mcde_display_device *ddev, if (ddev->invalidate_area) ret = ddev->invalidate_area(ddev, NULL); +power_mode_off: same_video_mode: set_video_mode_failed: mutex_unlock(&ddev->display_lock); |