xf86-video-ati: Branch 'master'

Dave Airlie airlied at kemper.freedesktop.org
Thu Sep 17 21:30:22 PDT 2009


 src/radeon_driver.c |    6 ++++++
 src/radeon_probe.h  |    1 +
 2 files changed, 7 insertions(+)

New commits:
commit 52279251fae9df99c569c16e2522bbd346d8ec38
Author: Dave Airlie <airlied at redhat.com>
Date:   Fri Sep 18 14:29:32 2009 +1000

    avivo: disable VGA rendering core when starting X.
    
    this thing can be rendering to VRAM when we don't expect it.
    turn it off.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 67fb9b7..2de682f 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -3849,6 +3849,9 @@ void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn,
 
 	    RADEONWaitForIdleMMIO(pScrn);
 
+            /* disable VGA rendering core */
+    	    OUTREG(AVIVO_VGA_RENDER_CONTROL, INREG(AVIVO_VGA_RENDER_CONTROL) &~ AVIVO_VGA_VSTATUS_CNTL_MASK);
+
 	    OUTREG(AVIVO_D1VGA_CONTROL, INREG(AVIVO_D1VGA_CONTROL) & ~AVIVO_DVGA_CONTROL_MODE_ENABLE);
 	    OUTREG(AVIVO_D2VGA_CONTROL, INREG(AVIVO_D2VGA_CONTROL) & ~AVIVO_DVGA_CONTROL_MODE_ENABLE);
 
@@ -4327,6 +4330,7 @@ avivo_save(ScrnInfoPtr pScrn, RADEONSavePtr save)
     //    state->vga_fb_start = INREG(AVIVO_VGA_FB_START);
     state->vga1_cntl = INREG(AVIVO_D1VGA_CONTROL);
     state->vga2_cntl = INREG(AVIVO_D2VGA_CONTROL);
+    state->vga_render_control = INREG(AVIVO_VGA_RENDER_CONTROL);
 
     state->crtc_master_en = INREG(AVIVO_DC_CRTC_MASTER_EN);
     state->crtc_tv_control = INREG(AVIVO_DC_CRTC_TV_CONTROL);
@@ -5061,6 +5065,7 @@ avivo_restore(ScrnInfoPtr pScrn, RADEONSavePtr restore)
     OUTREG(AVIVO_D2CRTC_BLANK_CONTROL, state->crtc2.blank_control);
 
     /* Dbl check */
+    OUTREG(AVIVO_VGA_RENDER_CONTROL, state->vga_render_control);
     OUTREG(AVIVO_D1VGA_CONTROL, state->vga1_cntl);
     OUTREG(AVIVO_D2VGA_CONTROL, state->vga2_cntl);
 
@@ -5073,6 +5078,7 @@ static void avivo_restore_vga_regs(ScrnInfoPtr pScrn, RADEONSavePtr restore)
     unsigned char *RADEONMMIO = info->MMIO;
     struct avivo_state *state = &restore->avivo;
 
+    OUTREG(AVIVO_VGA_RENDER_CONTROL, state->vga_render_control);
     OUTREG(AVIVO_D1VGA_CONTROL, state->vga1_cntl);
     OUTREG(AVIVO_D2VGA_CONTROL, state->vga2_cntl);
 }
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index 9cac15c..9b2cd70 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -341,6 +341,7 @@ struct avivo_state
 
     uint32_t vga1_cntl;
     uint32_t vga2_cntl;
+    uint32_t vga_render_control;
 
     uint32_t crtc_master_en;
     uint32_t crtc_tv_control;


More information about the xorg-commit mailing list