summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2015-09-27 16:13:24 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2015-09-27 16:13:24 +0000
commitdee4e5bf5b6cbd465a67453a45861ca80764422a (patch)
tree170676c722c09d6f24e95b561ec6cd2ff74bc2cc /sys/dev
parent5d6723bde33bf155b68535e4ebd32d15bf38e24d (diff)
Use drm_fb_helper_restore_fbdev_mode() to restore the wscons framebuffer
whenever we need to. Apologies for the ugly cast. Should fix the locking warnings reported by tobiasu@
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/drm/radeon/radeon_kms.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/pci/drm/radeon/radeon_kms.c b/sys/dev/pci/drm/radeon/radeon_kms.c
index b461c51e1d9..3c9fc16f5ca 100644
--- a/sys/dev/pci/drm/radeon/radeon_kms.c
+++ b/sys/dev/pci/drm/radeon/radeon_kms.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: radeon_kms.c,v 1.41 2015/09/26 19:52:16 kettenis Exp $ */
+/* $OpenBSD: radeon_kms.c,v 1.42 2015/09/27 16:13:23 kettenis Exp $ */
/*
* Copyright 2008 Advanced Micro Devices, Inc.
* Copyright 2008 Red Hat Inc.
@@ -419,7 +419,7 @@ radeondrm_doswitch(void *v)
fbwscons_setcolormap(&rdev->sf, radeondrm_setcolor);
#endif
drm_modeset_lock_all(rdev->ddev);
- drm_fb_helper_restore();
+ drm_fb_helper_restore_fbdev_mode((void *)rdev->mode_info.rfbdev);
drm_modeset_unlock_all(rdev->ddev);
if (rdev->switchcb)
@@ -719,7 +719,7 @@ radeondrm_attachhook(void *xsc)
fbwscons_setcolormap(&rdev->sf, radeondrm_setcolor);
#endif
drm_modeset_lock_all(rdev->ddev);
- drm_fb_helper_restore();
+ drm_fb_helper_restore_fbdev_mode((void *)rdev->mode_info.rfbdev);
drm_modeset_unlock_all(rdev->ddev);
#ifndef __sparc64__
@@ -1090,13 +1090,13 @@ int radeon_driver_firstopen_kms(struct drm_device *dev)
*/
void radeon_driver_lastclose_kms(struct drm_device *dev)
{
-#ifdef __sparc64__
struct radeon_device *rdev = dev->dev_private;
+#ifdef __sparc64__
fbwscons_setcolormap(&rdev->sf, radeondrm_setcolor);
#endif
drm_modeset_lock_all(dev);
- drm_fb_helper_restore();
+ drm_fb_helper_restore_fbdev_mode((void *)rdev->mode_info.rfbdev);
drm_modeset_unlock_all(dev);
#ifdef notyet
vga_switcheroo_process_delayed_switch();