summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorCedric Godin <cedric.godin@skynet.be>2010-06-11 14:40:56 -0400
committerDave Airlie <airlied@redhat.com>2010-07-01 11:59:11 +1000
commit09bdf591f4724c7d0328d4d7b8808492addb5a28 (patch)
tree597042312ed210a01277f43e082b0bf15d085f4a /drivers/gpu/drm
parent0888e883ea5ff8fac27e813256d6c1eaede5a234 (diff)
drm/radeon/kms: fix dpms state on resume
When suspending, we turn the display hw off, at resume the screen will stay black. This patch turn it on. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=16180 Signed-off-by: Cedric Godin <cedric.godin@skynet.be> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/radeon/radeon_device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index f10faed21567..5f317317aba2 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -779,6 +779,7 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state)
int radeon_resume_kms(struct drm_device *dev)
{
+ struct drm_connector *connector;
struct radeon_device *rdev = dev->dev_private;
if (rdev->powered_down)
@@ -797,6 +798,12 @@ int radeon_resume_kms(struct drm_device *dev)
radeon_resume(rdev);
radeon_pm_resume(rdev);
radeon_restore_bios_scratch_regs(rdev);
+
+ /* turn on display hw */
+ list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
+ drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON);
+ }
+
radeon_fbdev_set_suspend(rdev, 0);
release_console_sem();