diff options
author | Andrzej Hajda <[email protected]> | 2014-10-10 14:31:56 +0200 |
---|---|---|
committer | Inki Dae <[email protected]> | 2014-11-03 01:51:28 +0900 |
commit | 74cfe07a838d137ee6f425e00a03642f588fb76b (patch) | |
tree | a9ddcf0dda4ad423429277bd5a6c39e697cabf86 | |
parent | d6948b2fd870f3e375fa0f0a37dae3feb85e5bc9 (diff) |
drm/exynos: correct connector->dpms field before resuming
During system suspend after connector switch off its dpms field
is set to connector previous dpms state. To properly resume dpms field
should be set to its actual state (off) before resuming to previous dpms state.
Signed-off-by: Andrzej Hajda <[email protected]>
Signed-off-by: Inki Dae <[email protected]>
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_drv.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index 2353499196b6..c57466edf45b 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c @@ -194,8 +194,12 @@ static int exynos_drm_resume(struct drm_device *dev) drm_modeset_lock_all(dev); list_for_each_entry(connector, &dev->mode_config.connector_list, head) { - if (connector->funcs->dpms) - connector->funcs->dpms(connector, connector->dpms); + if (connector->funcs->dpms) { + int dpms = connector->dpms; + + connector->dpms = DRM_MODE_DPMS_OFF; + connector->funcs->dpms(connector, dpms); + } } drm_modeset_unlock_all(dev); |