From 7dde214bc0f1f3ec2417b8e1ae6e07733d79829e Mon Sep 17 00:00:00 2001 From: Alexander von Gluck IV Date: Tue, 10 Jan 2012 13:01:50 -0600 Subject: [PATCH] radeon_hd: Fix accelerant regression in 4e9e029 * After 4e9e029, radeon_hd functionality became erratic. * I think failing to lock the encoder bios scratch on encoder changes was causing it. --- src/add-ons/accelerants/radeon_hd/mode.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/add-ons/accelerants/radeon_hd/mode.cpp b/src/add-ons/accelerants/radeon_hd/mode.cpp index d3306e9da4..4735c77a28 100644 --- a/src/add-ons/accelerants/radeon_hd/mode.cpp +++ b/src/add-ons/accelerants/radeon_hd/mode.cpp @@ -133,7 +133,9 @@ radeon_dpms_set(int mode) for (uint8 id = 0; id < MAX_DISPLAY; id++) { if (gDisplay[id]->active == false) continue; + encoder_output_lock(true); encoder_dpms_set(id, mode); + encoder_output_lock(false); display_crtc_lock(id, ATOM_ENABLE); display_crtc_power(id, ATOM_ENABLE); if (info.dceMajor >= 3) @@ -155,7 +157,9 @@ radeon_dpms_set(int mode) display_crtc_memreq(id, ATOM_DISABLE); display_crtc_power(id, ATOM_DISABLE); display_crtc_lock(id, ATOM_DISABLE); + encoder_output_lock(true); encoder_dpms_set(id, mode); + encoder_output_lock(false); } break; }