summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-04-04 16:05:20 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-04-04 18:44:08 -0400
commitf8c7d6a6162196a743f6885ecaf63ba50de1722a (patch)
treeaf0b212d4804b6950b3595e3add55a6c62e9aa1c
parenta707d355c3c6ff92252c5a060a1fc32d97547552 (diff)
DCE3/3.2: cleanup dpms after previous changes
-rw-r--r--src/radeon_crtc.c5
-rw-r--r--src/radeon_output.c47
2 files changed, 5 insertions, 47 deletions
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
index cd0d55e8..4b508ce0 100644
--- a/src/radeon_crtc.c
+++ b/src/radeon_crtc.c
@@ -115,6 +115,9 @@ radeon_crtc_mode_prepare(xf86CrtcPtr crtc)
{
RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
+ if (radeon_crtc->initialized)
+ radeon_crtc_dpms(crtc, DPMSModeOff);
+
if (radeon_crtc->enabled)
crtc->funcs->hide_cursor(crtc);
}
@@ -283,6 +286,8 @@ radeon_crtc_mode_commit(xf86CrtcPtr crtc)
{
if (crtc->scrn->pScreen != NULL)
xf86_reload_cursors(crtc->scrn->pScreen);
+
+ radeon_crtc_dpms(crtc, DPMSModeOn);
}
void
diff --git a/src/radeon_output.c b/src/radeon_output.c
index c4041c75..712ac5f8 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -520,32 +520,8 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
static void
radeon_mode_prepare(xf86OutputPtr output)
{
- RADEONInfoPtr info = RADEONPTR(output->scrn);
- xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR (output->scrn);
- int o;
-
- for (o = 0; o < config->num_output; o++) {
- xf86OutputPtr loop_output = config->output[o];
- if (loop_output == output)
- continue;
- else if (loop_output->crtc) {
- xf86CrtcPtr other_crtc = loop_output->crtc;
- RADEONCrtcPrivatePtr other_radeon_crtc = other_crtc->driver_private;
- if (other_crtc->enabled) {
- if (other_radeon_crtc->initialized) {
- radeon_crtc_dpms(other_crtc, DPMSModeOff);
- if (IS_AVIVO_VARIANT || info->r4xx_atom)
- atombios_lock_crtc(info->atomBIOS, other_radeon_crtc->crtc_id, 1);
- radeon_dpms(loop_output, DPMSModeOff);
- }
- }
- }
- }
-
radeon_bios_output_lock(output, TRUE);
radeon_dpms(output, DPMSModeOff);
- radeon_crtc_dpms(output->crtc, DPMSModeOff);
-
}
static void
@@ -565,30 +541,7 @@ radeon_mode_set(xf86OutputPtr output, DisplayModePtr mode,
static void
radeon_mode_commit(xf86OutputPtr output)
{
- RADEONInfoPtr info = RADEONPTR(output->scrn);
- xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR (output->scrn);
- int o;
-
- for (o = 0; o < config->num_output; o++) {
- xf86OutputPtr loop_output = config->output[o];
- if (loop_output == output)
- continue;
- else if (loop_output->crtc) {
- xf86CrtcPtr other_crtc = loop_output->crtc;
- RADEONCrtcPrivatePtr other_radeon_crtc = other_crtc->driver_private;
- if (other_crtc->enabled) {
- if (other_radeon_crtc->initialized) {
- radeon_crtc_dpms(other_crtc, DPMSModeOn);
- if (IS_AVIVO_VARIANT || info->r4xx_atom)
- atombios_lock_crtc(info->atomBIOS, other_radeon_crtc->crtc_id, 0);
- radeon_dpms(loop_output, DPMSModeOn);
- }
- }
- }
- }
-
radeon_dpms(output, DPMSModeOn);
- radeon_crtc_dpms(output->crtc, DPMSModeOn);
radeon_bios_output_lock(output, FALSE);
}