summaryrefslogtreecommitdiff
path: root/src/amd_gx_driver.c
diff options
context:
space:
mode:
authorJordan Crouse <jordan.crouse@amd.com>2006-08-07 17:46:56 -0600
committerJordan Crouse <jordan.crouse@amd.com>2006-08-09 13:08:27 -0600
commit9d8d08c6a7449faf9c52d728eeb5793180eaf98e (patch)
treecd8cbfe96f3f62020c211b8d3c2e3ebc57b7f5f5 /src/amd_gx_driver.c
parent4a29b63925ea8ffa4e220925dd8aca280fd887a7 (diff)
PATCH: Fixup Xv
Xv was still stuck in the 6.8.1 days.
Diffstat (limited to 'src/amd_gx_driver.c')
-rw-r--r--src/amd_gx_driver.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/amd_gx_driver.c b/src/amd_gx_driver.c
index b606827..09a9d40 100644
--- a/src/amd_gx_driver.c
+++ b/src/amd_gx_driver.c
@@ -128,6 +128,7 @@ extern void GXInitVideo(ScreenPtr pScrn);
extern Bool GXDGAInit(ScreenPtr pScrn);
extern void GXLoadCursorImage(ScrnInfoPtr pScrni, unsigned char *src);
+unsigned char *XpressROMPtr;
unsigned long fb;
/* Existing Processor Models */
@@ -500,12 +501,15 @@ GXPreInit(ScrnInfoPtr pScrni, int flags)
pGeode->cpu_version = gfx_detect_cpu();
if ((pGeode->cpu_version & 0xFF) == GFX_CPU_REDCLOUD) {
+ int ret;
Q_WORD msrValue;
pGeode->DetectedChipSet = GX;
/* See if this a CRT or TFT part */
- gfx_msr_read(RC_ID_DF, MBD_MSR_CONFIG, &msrValue);
+ ret = gfx_msr_read(RC_ID_DF, MBD_MSR_CONFIG, &msrValue);
+ DEBUGMSG(1, (pScrni->scrnIndex, X_ERROR, "MSR=%d\n", ret));
+
pGeode->DetectedChipSet =
((msrValue.low & RCDF_CONFIG_FMT_MASK) ==
RCDF_CONFIG_FMT_FP) ? GX_TFT : GX_CRT;
@@ -2471,6 +2475,9 @@ GXMapMem(ScrnInfoPtr pScrni)
gfx_virt_fbptr = (unsigned char *)xf86MapVidMem(pScrni->scrnIndex,
VIDMEM_FRAMEBUFFER, pGeode->FBLinearAddr, pGeode->FBAvail);
+ XpressROMPtr = (unsigned char *)xf86MapVidMem(pScrni->scrnIndex,
+ VIDMEM_FRAMEBUFFER, 0xF0000, 0x10000);
+
pGeode->FBBase = gfx_virt_fbptr;
DEBUGMSG(1, (0, X_NONE, "Set mode %p %p %p %p %p\n",