diff --git a/radeon-6.9.0-fb-size.patch b/radeon-6.9.0-fb-size.patch new file mode 100644 index 0000000..80a0b6b --- /dev/null +++ b/radeon-6.9.0-fb-size.patch @@ -0,0 +1,56 @@ +diff -up xf86-video-ati-6.9.0/src/radeon_driver.c.jx xf86-video-ati-6.9.0/src/radeon_driver.c +--- xf86-video-ati-6.9.0/src/radeon_driver.c.jx 2008-09-08 14:17:30.000000000 -0400 ++++ xf86-video-ati-6.9.0/src/radeon_driver.c 2008-09-08 14:44:15.000000000 -0400 +@@ -2713,6 +2713,7 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, in + xf86Int10InfoPtr pInt10 = NULL; + void *int10_save = NULL; + const char *s; ++ int crtc_min_X = 320, crtc_min_Y = 200; + int crtc_max_X, crtc_max_Y; + RADEONEntPtr pRADEONEnt; + DevUnion* pPriv; +@@ -2936,19 +2937,25 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, in + * note that these aren't really the CRTC limits, they're just + * heuristics until we have a better memory manager. + */ +- if (pScrn->videoRam <= 16384) { ++ if (pScrn->videoRam <= 32768) { + crtc_max_X = 1600; + crtc_max_Y = 1200; +- } else if (IS_R300_VARIANT) { +- crtc_max_X = 2560; +- crtc_max_Y = 1200; +- } else if (IS_AVIVO_VARIANT) { +- crtc_max_X = 2560; +- crtc_max_Y = 1600; ++ } else if (pScrn->videoRam <= 65536) { ++ crtc_min_X = 3360; ++ crtc_min_Y = 1050; ++ crtc_max_X = 3968; ++ crtc_max_Y = 1440; + } else { +- crtc_max_X = 2048; +- crtc_max_Y = 1200; +- } ++ crtc_min_X = 3840; ++ crtc_min_Y = 1200; ++ if (IS_AVIVO_VARIANT) { ++ crtc_max_X = 5120; ++ crtc_max_Y = 1600; ++ } else { ++ crtc_max_X = 3968; ++ crtc_max_Y = 1440; ++ } ++ } + } + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Max desktop size set to %dx%d\n", + crtc_max_X, crtc_max_Y); +@@ -2959,7 +2966,7 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, in + "reduce the desktop size by adjusting the Virtual line to your xorg.conf\n"); + + /*xf86CrtcSetSizeRange (pScrn, 320, 200, info->MaxSurfaceWidth, info->MaxLines);*/ +- xf86CrtcSetSizeRange (pScrn, 320, 200, crtc_max_X, crtc_max_Y); ++ xf86CrtcSetSizeRange (pScrn, crtc_min_X, crtc_min_Y, crtc_max_X, crtc_max_Y); + + RADEONPreInitDDC(pScrn); + diff --git a/xorg-x11-drv-ati.spec b/xorg-x11-drv-ati.spec index 2c5cc47..dd2bdd1 100644 --- a/xorg-x11-drv-ati.spec +++ b/xorg-x11-drv-ati.spec @@ -5,7 +5,7 @@ Summary: Xorg X11 ati video driver Name: xorg-x11-drv-ati Version: 6.9.0 -Release: 9%{?dist} +Release: 10%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support @@ -18,6 +18,7 @@ Patch0: radeon-6.9.0-to-git.patch Patch1: radeon-modeset.patch Patch2: radeon-suspend-fix.patch Patch3: radeon-fix-pipe-config.patch +Patch4: radeon-6.9.0-fb-size.patch ExcludeArch: s390 s390x @@ -40,6 +41,7 @@ X.Org X11 ati video driver. %patch1 -p1 -b .modeset %patch2 -p1 -b .suspend %patch3 -p1 -b .pipe-config +%patch4 -p1 -b .fb-size %build autoreconf @@ -71,6 +73,10 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man4/radeon.4* %changelog +* Mon Sep 08 2008 Adam Jackson 6.9.0-10 +- radeon-6.9.0-fb-size.patch: Yet more lame heuristics to preallocate a + usable framebuffer for laptops. (#458864) + * Fri Sep 05 2008 Dave Airlie 6.9.0-9 - add fix for pipe register emits on r300