From 2177c2737720c8169bed0430d3f68a9f9c23d28e Mon Sep 17 00:00:00 2001 From: Per Persson Date: Fri, 2 Dec 2011 10:55:40 +0100 Subject: 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 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/40767 Reviewed-by: Anders BAUER Reviewed-by: QABUILD Reviewed-by: Jimmy RUBIN Reviewed-by: Jonas ABERG --- drivers/video/mcde/mcde_dss.c | 11 +++++++---- 1 file 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); -- cgit v1.2.3