diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c index cbb50d8..1c76e58 100644 --- a/src/radeon_crtc.c +++ b/src/radeon_crtc.c @@ -517,6 +517,7 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save, int hsync_start; int hsync_wid; int vsync_wid; + unsigned int tmp; switch (info->CurrentLayout.pixel_code) { case 4: format = 1; break; @@ -564,7 +565,8 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save, save->crtc2_pitch = ((info->CurrentLayout.displayWidth * pScrn->bitsPerPixel) + ((pScrn->bitsPerPixel * 8) -1)) / (pScrn->bitsPerPixel * 8); save->crtc2_pitch |= save->crtc2_pitch << 16; - + + tmp = save->crtc2_gen_cntl; save->crtc2_gen_cntl = (RADEON_CRTC2_EN | (format << 8) | RADEON_CRTC2_VSYNC_DIS @@ -578,7 +580,10 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save, : 0) | ((mode->Flags & V_INTERLACE) ? RADEON_CRTC2_INTERLACE_EN - : 0)); + : 0) + | ((tmp & RADEON_CRTC2_CRT2_ON) + ? RADEON_CRTC2_CRT2_ON + : 0)); save->disp2_merge_cntl = info->SavedReg.disp2_merge_cntl; save->disp2_merge_cntl &= ~(RADEON_DISP2_RGB_OFFSET_EN);