diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c index e288352..49a0137 100644 --- a/src/radeon_crtc.c +++ b/src/radeon_crtc.c @@ -954,6 +954,8 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode, RADEONInfoPtr info = RADEONPTR(pScrn); if (IS_AVIVO_VARIANT) { + if (info->IsMobility) + RADEONInitBIOSRegisters(pScrn, &info->ModeReg); atombios_crtc_mode_set(crtc, mode, adjusted_mode, x, y); } else { legacy_crtc_mode_set(crtc, mode, adjusted_mode, x, y); diff --git a/src/radeon_driver.c b/src/radeon_driver.c index 6e98913..feeb297 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -5724,6 +5724,7 @@ static void RADEONSave(ScrnInfoPtr pScrn) if (IS_AVIVO_VARIANT) { RADEONSaveMemMapRegisters(pScrn, save); + RADEONSaveBIOSRegisters(pScrn, save); avivo_save(pScrn, save); } else { save->dp_datatype = INREG(RADEON_DP_DATATYPE); @@ -5772,6 +5773,7 @@ void RADEONRestore(ScrnInfoPtr pScrn) if (IS_AVIVO_VARIANT) { RADEONRestoreMemMapRegisters(pScrn, restore); + RADEONRestoreBIOSRegisters(pScrn, restore); avivo_restore(pScrn, restore); } else { OUTREG(RADEON_CLOCK_CNTL_INDEX, restore->clock_cntl_index);