diff options
author | Egbert Eich <eich@suse.de> | 2011-11-15 18:50:56 +0100 |
---|---|---|
committer | Egbert Eich <eich@freedesktop.org> | 2012-01-05 09:28:49 +0100 |
commit | eb6d769a087b2ed5952f477fc3f0b0625810a287 (patch) | |
tree | 7b0bc804c4871ed2015712da5dc8e3338e7f2c3b /src/radeon_driver.c | |
parent | ac51e331895b216d288bc7bd108a38b362214668 (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.c | 4 |
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 |