summaryrefslogtreecommitdiff
path: root/src/radeon_output.c
diff options
context:
space:
mode:
authorAlex Deucher <alex@cube.(none)>2008-04-29 21:01:41 -0400
committerAlex Deucher <alex@cube.(none)>2008-04-29 21:01:41 -0400
commit445b71021843665ba32f37b2ce5c9d2857c07cc7 (patch)
tree40c09b9e054694369daecbec3d53a31b4da37d74 /src/radeon_output.c
parent070cce5255a5c311f9d8b85ec54bd56655014933 (diff)
RADEON: assorted fixes
- free rotate pixmaps on VT switch - save crtc/output status so we only turn on crtcs/outputs if they are off - show/hide cursors when changing modes
Diffstat (limited to 'src/radeon_output.c')
-rw-r--r--src/radeon_output.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 28539d48..907d8248 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -481,6 +481,10 @@ static void
radeon_dpms(xf86OutputPtr output, int mode)
{
RADEONInfoPtr info = RADEONPTR(output->scrn);
+ RADEONOutputPrivatePtr radeon_output = output->driver_private;
+
+ if ((mode == DPMSModeOn) && radeon_output->enabled)
+ return;
if (IS_AVIVO_VARIANT) {
atombios_output_dpms(output, mode);
@@ -489,6 +493,11 @@ radeon_dpms(xf86OutputPtr output, int mode)
}
radeon_bios_output_dpms(output, mode);
+ if (mode == DPMSModeOn)
+ radeon_output->enabled = TRUE;
+ else
+ radeon_output->enabled = FALSE;
+
}
static void