summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/cirrus/cirrus_mode.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2014-04-14 11:34:48 +0200
committerDave Airlie <airlied@redhat.com>2014-04-18 05:31:49 +0200
commit2f1e800799bf478494cec3573cd63eb34ca89c9d (patch)
treeae2a647ada73c577de93d23d7ec4cc1d1105f84c /drivers/gpu/drm/cirrus/cirrus_mode.c
parentdrm: Split out drm_probe_helper.c from drm_crtc_helper.c (diff)
downloadlinux-2f1e800799bf478494cec3573cd63eb34ca89c9d.tar.xz
linux-2f1e800799bf478494cec3573cd63eb34ca89c9d.zip
drm: cirrus: add power management support
cirrus kms driver lacks power management support, thus the vga display doesn't work any more after S3 resume. Fix this by adding suspend and resume functions. Also make the mode_set function unblank the screen. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to '')
-rw-r--r--drivers/gpu/drm/cirrus/cirrus_mode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/cirrus/cirrus_mode.c b/drivers/gpu/drm/cirrus/cirrus_mode.c
index 2d64aea83df2..f59433b7610c 100644
--- a/drivers/gpu/drm/cirrus/cirrus_mode.c
+++ b/drivers/gpu/drm/cirrus/cirrus_mode.c
@@ -308,6 +308,9 @@ static int cirrus_crtc_mode_set(struct drm_crtc *crtc,
WREG_HDR(hdr);
cirrus_crtc_do_set_base(crtc, old_fb, x, y, 0);
+
+ /* Unblank (needed on S3 resume, vgabios doesn't do it then) */
+ outb(0x20, 0x3c0);
return 0;
}