summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortsi <tsi>2008-05-21 22:23:56 +0000
committertsi <tsi>2008-05-21 22:23:56 +0000
commitdd37c872bde47c885025e6ac73c0d665c529bf4f (patch)
tree7b2fa433ad473823a03f5fc5a551610f9a974604
parent7e1e0dd368920e42fa10a75032bf6db339f0a0bb (diff)
52. Fix radeon driver to not relocate the framebuffer within its aperture on
non-DRI platforms. Fixes a SunOS/sparc panic upon /dev/console (or /dev/wscons) output while the server is running. (Marc La France).
-rw-r--r--programs/Xserver/hw/xfree86/CHANGELOG5
-rw-r--r--programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/programs/Xserver/hw/xfree86/CHANGELOG b/programs/Xserver/hw/xfree86/CHANGELOG
index cb4edf152..bbb2414d4 100644
--- a/programs/Xserver/hw/xfree86/CHANGELOG
+++ b/programs/Xserver/hw/xfree86/CHANGELOG
@@ -1,4 +1,7 @@
XFree86 4.7.99.18 (xx May 2008)
+ 52. Fix radeon driver to not relocate the framebuffer within its aperture on
+ non-DRI platforms. Fixes a SunOS/sparc panic upon /dev/console (or
+ /dev/wscons) output while the server is running. (Marc La France).
51. Change atimisc to not disable the MMIO area at the tail end of the linear
aperture if it is found to be enabled on entry. Fixes a hang on
Solaris/sparc upon /dev/console or /dev/wscons output while the server is
@@ -20754,4 +20757,4 @@ XFree86 3.0a (28 April 1994)
XFree86 3.0 (26 April 1994)
-$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3961 2008/05/15 17:25:39 tsi Exp $
+$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.3962 2008/05/15 18:04:24 tsi Exp $
diff --git a/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c b/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
index 09bee956b..f59356d72 100644
--- a/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
+++ b/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c,v 1.140tsi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c,v 1.141tsi Exp $ */
/*
* Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
* VA Linux Systems Inc., Fremont, California.
@@ -2276,14 +2276,13 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
if (!info->FBDev) {
if (info->IsIGP)
info->mc_fb_location = INREG(RADEON_NB_TOM);
- else
#ifdef XF86DRI
+ else
/* Old DRI has restrictions on the memory map */
if ( info->directRenderingEnabled &&
info->pKernelDRMVersion->version_minor < 10 )
info->mc_fb_location = (mem_size - 1) & 0xffff0000U;
else
-#endif
{
CARD32 aper0_base = INREG(RADEON_CONFIG_APER_0_BASE);
@@ -2305,13 +2304,16 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
info->mc_fb_location = (aper0_base >> 16) |
((aper0_base + mem_size - 1) & 0xffff0000U);
}
+#endif
}
info->fbLocation = (info->mc_fb_location & 0xffff) << 16;
+#ifdef XF86DRI
/* Just disable the damn AGP apertures for now, it may be
* re-enabled later by the DRM
*/
info->mc_agp_location = 0xffffffc0;
+#endif
RADEONTRACE(("RADEONInitMemoryMap() : \n"));
RADEONTRACE((" mem_size : 0x%08lx\n", mem_size));