summaryrefslogtreecommitdiff
path: root/src/radeon_driver.c
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2011-11-15 18:50:56 +0100
committerEgbert Eich <eich@freedesktop.org>2012-01-05 09:28:49 +0100
commiteb6d769a087b2ed5952f477fc3f0b0625810a287 (patch)
tree7b0bc804c4871ed2015712da5dc8e3338e7f2c3b /src/radeon_driver.c
parentac51e331895b216d288bc7bd108a38b362214668 (diff)
DPMS: Split non-modeset CRTC DPMS function.
RADEONRestore() calls crtc->funcs->dpms() after most of the mode setting subsystems have been restored. This function enables the CRTCs but does more: it calls DRM pre- and post-modeset ioctls and sets up the palettes (LUTs). None of these two things are needed. Accessing the palette registers after restoring the PLLs can even lead to lockups. Thus the CRTC DPMS function is split into two parts: one that just enables /disables the CRTC and one which wraps this function and does the rest. Now the inner function can be called directly from RADEONRestore() as there is no need to go thru the RandR hooks in this function while the RandR hook uses the wrappering function so the full functionality is preserved from an RandR point of view. Signed-off-by: Egbert Eich <eich@freedesktop.org> Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r--src/radeon_driver.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 04a242a7..077f9a46 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -5895,12 +5895,12 @@ static void RADEONRestore(ScrnInfoPtr pScrn)
if (pRADEONEnt->HasCRTC2 && !info->IsSecondary) {
if (info->crtc2_on && xf86_config->num_crtc > 1) {
crtc = xf86_config->crtc[1];
- crtc->funcs->dpms(crtc, DPMSModeOn);
+ radeon_do_crtc_dpms(crtc, DPMSModeOn);
}
}
if (info->crtc_on) {
crtc = xf86_config->crtc[0];
- crtc->funcs->dpms(crtc, DPMSModeOn);
+ radeon_do_crtc_dpms(crtc, DPMSModeOn);
}
#ifdef WITH_VGAHW