hrev43647 adds 1 changeset to branch 'master' old head: b4f8644589d508aa757a25adcfe7d2eef1127fb5 new head: 7dde214bc0f1f3ec2417b8e1ae6e07733d79829e ---------------------------------------------------------------------------- 7dde214: 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. [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev43647 Commit: 7dde214bc0f1f3ec2417b8e1ae6e07733d79829e URL: http://cgit.haiku-os.org/haiku/commit/?id=7dde214 Author: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> Date: Tue Jan 10 19:01:50 2012 UTC ---------------------------------------------------------------------------- 1 files changed, 4 insertions(+), 0 deletions(-) src/add-ons/accelerants/radeon_hd/mode.cpp | 4 ++++ ---------------------------------------------------------------------------- diff --git a/src/add-ons/accelerants/radeon_hd/mode.cpp b/src/add-ons/accelerants/radeon_hd/mode.cpp index d3306e9..4735c77 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; }