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