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.
This commit is contained in:
Alexander von Gluck IV 2012-01-10 13:01:50 -06:00
parent b4f8644589
commit 7dde214bc0
1 changed files with 4 additions and 0 deletions

View File

@ -133,7 +133,9 @@ radeon_dpms_set(int mode)
for (uint8 id = 0; id < MAX_DISPLAY; id++) { for (uint8 id = 0; id < MAX_DISPLAY; id++) {
if (gDisplay[id]->active == false) if (gDisplay[id]->active == false)
continue; continue;
encoder_output_lock(true);
encoder_dpms_set(id, mode); encoder_dpms_set(id, mode);
encoder_output_lock(false);
display_crtc_lock(id, ATOM_ENABLE); display_crtc_lock(id, ATOM_ENABLE);
display_crtc_power(id, ATOM_ENABLE); display_crtc_power(id, ATOM_ENABLE);
if (info.dceMajor >= 3) if (info.dceMajor >= 3)
@ -155,7 +157,9 @@ radeon_dpms_set(int mode)
display_crtc_memreq(id, ATOM_DISABLE); display_crtc_memreq(id, ATOM_DISABLE);
display_crtc_power(id, ATOM_DISABLE); display_crtc_power(id, ATOM_DISABLE);
display_crtc_lock(id, ATOM_DISABLE); display_crtc_lock(id, ATOM_DISABLE);
encoder_output_lock(true);
encoder_dpms_set(id, mode); encoder_dpms_set(id, mode);
encoder_output_lock(false);
} }
break; break;
} }