summaryrefslogtreecommitdiff
path: root/x11-servers
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2005-01-13 22:52:24 +0000
committerEric Anholt <anholt@FreeBSD.org>2005-01-13 22:52:24 +0000
commit31179eebc6675c7d631952e4d10aaeb89f142f00 (patch)
tree757be619fcbf67d31d680bb3b524073b33d427eb /x11-servers
parent- Update to 3.2.4 (diff)
[1] Add i810 driver to AMD64 package.
[2] Put the manpages from section 4 under 4x. For example, you can do "man 4x vga" to get the X vga(4x) manpage, still do man 4 cirrus to get cirrus(4x), and man -a vga to get both vga manpages. [3] Apply several important-looking fixes to ATI drivers from the stable branch: - Fix mode setting with Mach64 on some laptops. - Don't crash with mach64 for some PCI configurations - Improve hang detection on r128s. (may improve speed in DRI, too) - Avoid a hang on server regen on r128 with DRI. - Fix the DynamicClocks support, which could have caused hangs with DRI on original Radeons. PR: [2] ports/25576 Submitted by: [2] fanf Requested by: [1] peter Obtained from: [3] XORG-6_8-branch
Notes
Notes: svn path=/head/; revision=126370
Diffstat (limited to 'x11-servers')
-rw-r--r--x11-servers/xorg-server-snap/Makefile102
-rw-r--r--x11-servers/xorg-server-snap/files/patch-ati-59154
-rw-r--r--x11-servers/xorg-server-snap/files/patch-atiprobe.c18
-rw-r--r--x11-servers/xorg-server-snap/files/patch-r128_accel.c33
-rw-r--r--x11-servers/xorg-server-snap/files/patch-r128_dri.c16
-rw-r--r--x11-servers/xorg-server-snap/files/patch-radeon_driver.c19
-rw-r--r--x11-servers/xorg-server-snap/files/patch-radeon_reg.h11
-rw-r--r--x11-servers/xorg-server-snap/files/patch-xorg.cf11
-rw-r--r--x11-servers/xorg-server-snap/pkg-plist2
-rw-r--r--x11-servers/xorg-server-snap/scripts/configure5
-rw-r--r--x11-servers/xorg-server/Makefile102
-rw-r--r--x11-servers/xorg-server/files/patch-ati-59154
-rw-r--r--x11-servers/xorg-server/files/patch-atiprobe.c18
-rw-r--r--x11-servers/xorg-server/files/patch-r128_accel.c33
-rw-r--r--x11-servers/xorg-server/files/patch-r128_dri.c16
-rw-r--r--x11-servers/xorg-server/files/patch-radeon_driver.c19
-rw-r--r--x11-servers/xorg-server/files/patch-radeon_reg.h11
-rw-r--r--x11-servers/xorg-server/files/patch-xorg.cf11
-rw-r--r--x11-servers/xorg-server/pkg-plist2
-rw-r--r--x11-servers/xorg-server/scripts/configure5
20 files changed, 438 insertions, 104 deletions
diff --git a/x11-servers/xorg-server-snap/Makefile b/x11-servers/xorg-server-snap/Makefile
index 4beb4cea3060..eeb687996382 100644
--- a/x11-servers/xorg-server-snap/Makefile
+++ b/x11-servers/xorg-server-snap/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xorg-server
PORTVERSION= 6.8.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XORG}
MASTER_SITE_SUBDIR= X11R6.8.1/tars
@@ -39,29 +39,29 @@ MAN1= Xorg.1 \
pcitweak.1 \
xorgcfg.1 \
xorgconfig.1
-MAN4= citron.4 \
- dmc.4 \
- dynapro.4 \
- elographics.4 \
- fbdevhw.4 \
- fpit.4 \
- glint.4 \
- js_x.4 \
- kbd.4 \
- keyboard.4 \
- mga.4 \
- microtouch.4 \
- mouse.4 \
- mutouch.4 \
- palmax.4 \
- penmount.4 \
- r128.4 \
- radeon.4 \
- tdfx.4 \
- tek4957.4 \
- vga.4 \
- void.4 \
- wacom.4
+MAN4= citron.4x \
+ dmc.4x \
+ dynapro.4x \
+ elographics.4x \
+ fbdevhw.4x \
+ fpit.4x \
+ glint.4x \
+ js_x.4x \
+ kbd.4x \
+ keyboard.4x \
+ mga.4x \
+ microtouch.4x \
+ mouse.4x \
+ mutouch.4x \
+ palmax.4x \
+ penmount.4x \
+ r128.4x \
+ radeon.4x \
+ tdfx.4x \
+ tek4957.4x \
+ vga.4x \
+ void.4x \
+ wacom.4x
MAN5= getconfig.5 \
xorg.conf.5
@@ -81,7 +81,7 @@ IGNORE= is part of X.Org. For switching to X.Org, read UPDATING entry 20040723
PLIST_SUB+= ALPHA_NA="@comment "
.else
PLIST_SUB+= ALPHA_NA=""
-MAN4+= vesa.4
+MAN4+= vesa.4x
.endif
.if ${ARCH} == ia64
@@ -93,46 +93,46 @@ PLIST_SUB+= IA64_NA=""
.if ${ARCH} == sparc64
PLIST_SUB+= SPARC64=""
PLIST_SUB+= SPARC64_NA="@comment "
-MAN4+= sunbw2.4 \
- suncg14.4 \
- suncg3.4 \
- suncg6.4 \
- sunffb.4 \
- sunleo.4 \
- suntcx.4
+MAN4+= sunbw2.4x \
+ suncg14.4x \
+ suncg3.4x \
+ suncg6.4x \
+ sunffb.4x \
+ sunleo.4x \
+ suntcx.4x
.else
PLIST_SUB+= SPARC64="@comment "
PLIST_SUB+= SPARC64_NA=""
-MAN4+= cirrus.4 \
- nv.4 \
- rendition.4 \
- s3virge.4 \
- savage.4 \
- siliconmotion.4
+MAN4+= cirrus.4x \
+ nv.4x \
+ rendition.4x \
+ s3virge.4x \
+ savage.4x \
+ siliconmotion.4x
.endif
.if ${ARCH} == i386
PLIST_SUB+= I386=""
MAN1+= scanpci.1
-MAN4+= i740.4 \
- i810.4 \
- nsc.4 \
- via.4 \
- vmware.4
+MAN4+= i740.4x \
+ nsc.4x \
+ via.4x \
+ vmware.4x
.else
PLIST_SUB+= I386="@comment "
.endif
.if ${ARCH} == amd64 || ${ARCH} == i386
PLIST_SUB+= AMD64_I386=""
-MAN4+= apm.4 \
- chips.4 \
- cyrix.4 \
- i128.4 \
- neomagic.4 \
- sis.4 \
- trident.4 \
- tseng.4
+MAN4+= apm.4x \
+ chips.4x \
+ cyrix.4x \
+ i128.4x \
+ i810.4x \
+ neomagic.4x \
+ sis.4x \
+ trident.4x \
+ tseng.4x
.else
PLIST_SUB+= AMD64_I386="@comment "
.endif
diff --git a/x11-servers/xorg-server-snap/files/patch-ati-591 b/x11-servers/xorg-server-snap/files/patch-ati-591
new file mode 100644
index 000000000000..dc8e099f078a
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-ati-591
@@ -0,0 +1,54 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c,v
+retrieving revision 1.3
+retrieving revision 1.3.4.1
+diff -u -u -r1.3 -r1.3.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c 26 Jul 2004 19:14:58 -0000 1.3
++++ programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c 15 Dec 2004 07:58:15 -0000 1.3.4.1
+@@ -1918,11 +1918,11 @@
+ VBlankEnd += 0x0100U;
+
+ pATI->LCDHBlankWidth = HBlankEnd - HBlankStart;
+- pATI->LCDHSyncStart = HSyncStart - HBlankStart - 1;
++ pATI->LCDHSyncStart = HSyncStart - HBlankStart;
+ pATI->LCDHSyncWidth = HSyncEnd - HSyncStart;
+
+ pATI->LCDVBlankWidth = VBlankEnd - VBlankStart;
+- pATI->LCDVSyncStart = VSyncStart - VBlankStart - 1;
++ pATI->LCDVSyncStart = VSyncStart - VBlankStart;
+ pATI->LCDVSyncWidth = VSyncEnd - VSyncStart;
+
+ HDisplay = HTotal + 5 - pATI->LCDHBlankWidth;
+Index: programs/Xserver/hw/xfree86/drivers/ati/ativga.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/ativga.c,v
+retrieving revision 1.2
+retrieving revision 1.2.4.1
+diff -u -u -r1.2 -r1.2.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/ativga.c 23 Apr 2004 19:26:46 -0000 1.2
++++ programs/Xserver/hw/xfree86/drivers/ati/ativga.c 15 Dec 2004 07:58:15 -0000 1.2.4.1
+@@ -185,7 +185,11 @@
+ (pATI->Chip >= ATI_CHIP_264CT))
+ pMode->CrtcHBlankStart--;
+ pMode->CrtcHSyncStart = pMode->HSyncStart >> 3;
++ if (pATI->LCDPanelID >= 0)
++ pMode->CrtcHSyncStart--;
+ pMode->CrtcHSyncEnd = pMode->HSyncEnd >> 3;
++ if (pATI->LCDPanelID >= 0)
++ pMode->CrtcHSyncEnd--;
+ pMode->CrtcHBlankEnd = (pMode->HTotal >> 3) - 1;
+ pMode->CrtcHTotal = (pMode->HTotal >> 3) - 5;
+ pMode->CrtcHSkew = pMode->HSkew;
+@@ -327,6 +331,11 @@
+ pMode->CrtcVBlankStart++;
+ else
+ pMode->CrtcVBlankStart--;
++ if (pATI->LCDPanelID >= 0)
++ {
++ pMode->CrtcVSyncStart--;
++ pMode->CrtcVSyncEnd--;
++ }
+ pMode->CrtcVBlankEnd--;
+ if (pATI->Chip < ATI_CHIP_264CT)
+ pMode->CrtcVBlankEnd--;
diff --git a/x11-servers/xorg-server-snap/files/patch-atiprobe.c b/x11-servers/xorg-server-snap/files/patch-atiprobe.c
new file mode 100644
index 000000000000..cb7371b1f153
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-atiprobe.c
@@ -0,0 +1,18 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c,v
+retrieving revision 1.3
+retrieving revision 1.3.2.2
+diff -u -u -r1.3 -r1.3.2.2
+--- programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 30 Jul 2004 20:30:51 -0000 1.3
++++ programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 15 Dec 2004 08:47:20 -0000 1.3.2.2
+@@ -1554,6 +1560,9 @@
+ continue;
+
+ pPCI = pVideo->thisCard;
++ if (pPCI == NULL)
++ continue;
++
+ PciReg = pciReadLong(pPCI->tag, PCI_REG_USERCONFIG);
+ j = PciReg & 0x03U;
+ if (j == 0x03U)
diff --git a/x11-servers/xorg-server-snap/files/patch-r128_accel.c b/x11-servers/xorg-server-snap/files/patch-r128_accel.c
new file mode 100644
index 000000000000..6acfe9834a8e
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-r128_accel.c
@@ -0,0 +1,33 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c,v
+retrieving revision 1.3
+retrieving revision 1.3.4.1
+diff -u -u -r1.3 -r1.3.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c 16 Jun 2004 09:43:58 -0000 1.3
++++ programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c 15 Dec 2004 09:22:02 -0000 1.3.4.1
+@@ -237,17 +237,23 @@
+ i = 0;
+ do {
+ ret = drmCommandNone(info->drmFD, DRM_R128_CCE_IDLE);
+- } while ( ret && errno == EBUSY && i++ < R128_IDLE_RETRY );
++ } while ( ret && errno == EBUSY && i++ < (R128_IDLE_RETRY * R128_IDLE_RETRY) );
+
+ if (ret && ret != -EBUSY) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "%s: CCE idle %d\n", __FUNCTION__, ret);
+ }
+
++ if (i > R128_IDLE_RETRY) {
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++ "%s: (DEBUG) CCE idle took i = %d\n", __FUNCTION__, i);
++ }
++
+ if (ret == 0) return;
+
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Idle timed out, resetting engine...\n");
++ R128CCE_STOP(pScrn, info);
+ R128EngineReset(pScrn);
+
+ /* Always restart the engine when doing CCE 2D acceleration */
diff --git a/x11-servers/xorg-server-snap/files/patch-r128_dri.c b/x11-servers/xorg-server-snap/files/patch-r128_dri.c
new file mode 100644
index 000000000000..c31694837bcc
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-r128_dri.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c,v
+retrieving revision 1.4
+retrieving revision 1.4.4.1
+diff -u -u -r1.4 -r1.4.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c 10 Jul 2004 14:22:35 -0000 1.4
++++ programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c 15 Dec 2004 08:53:01 -0000 1.4.4.1
+@@ -1297,6 +1297,7 @@
+ if (info->irq) {
+ drmCtlUninstHandler(info->drmFD);
+ info->irq = 0;
++ info->gen_int_cntl = 0;
+ }
+
+ /* De-allocate vertex buffers */
diff --git a/x11-servers/xorg-server-snap/files/patch-radeon_driver.c b/x11-servers/xorg-server-snap/files/patch-radeon_driver.c
new file mode 100644
index 000000000000..7361e77a5eaf
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-radeon_driver.c
@@ -0,0 +1,19 @@
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.orig Tue Aug 24 17:30:41 2004
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c Thu Jan 13 14:34:17 2005
+@@ -4471,10 +4471,12 @@
+
+ RADEONSave(pScrn);
+
+- if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) {
+- RADEONSetDynamicClock(pScrn, 1);
+- } else {
+- RADEONSetDynamicClock(pScrn, 0);
++ if ((!info->IsSecondary) && info->IsMobility) {
++ if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) {
++ RADEONSetDynamicClock(pScrn, 1);
++ } else {
++ RADEONSetDynamicClock(pScrn, 0);
++ }
+ }
+
+ if (info->FBDev) {
diff --git a/x11-servers/xorg-server-snap/files/patch-radeon_reg.h b/x11-servers/xorg-server-snap/files/patch-radeon_reg.h
new file mode 100644
index 000000000000..4aa8575e4cb2
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-radeon_reg.h
@@ -0,0 +1,11 @@
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h.orig Mon Aug 9 15:37:22 2004
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h Thu Jan 13 14:34:17 2005
+@@ -803,7 +803,7 @@
+ # define RADEON_MC_MCLK_MAX_DYN_STOP_LAT (1<<12)
+ # define RADEON_IO_MCLK_MAX_DYN_STOP_LAT (1<<13)
+ # define RADEON_MC_MCLK_DYN_ENABLE (1 << 14)
+-# define RADEON_IO_MCLK_DYN_ENABLE (1 << 14)
++# define RADEON_IO_MCLK_DYN_ENABLE (1 << 15)
+ #define RADEON_MDGPIO_A_REG 0x01ac
+ #define RADEON_MDGPIO_EN_REG 0x01b0
+ #define RADEON_MDGPIO_MASK 0x0198
diff --git a/x11-servers/xorg-server-snap/files/patch-xorg.cf b/x11-servers/xorg-server-snap/files/patch-xorg.cf
new file mode 100644
index 000000000000..794860e862fe
--- /dev/null
+++ b/x11-servers/xorg-server-snap/files/patch-xorg.cf
@@ -0,0 +1,11 @@
+--- config/cf/xorg.cf.orig Sat Jan 1 16:41:46 2005
++++ config/cf/xorg.cf Sat Jan 1 16:42:18 2005
+@@ -446,7 +446,7 @@
+ # ifndef XF86CardDrivers
+ # define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
+ neomagic tdfx savage cirrus tseng trident \
+- chips apm i128 ati ark cyrix siliconmotion \
++ chips apm i128 ati i810 ark cyrix siliconmotion \
+ vga dummy vesa \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+ # endif
diff --git a/x11-servers/xorg-server-snap/pkg-plist b/x11-servers/xorg-server-snap/pkg-plist
index 6ef4d946e931..da6ef8eb22a4 100644
--- a/x11-servers/xorg-server-snap/pkg-plist
+++ b/x11-servers/xorg-server-snap/pkg-plist
@@ -91,7 +91,7 @@ lib/modules/drivers/atimisc_drv.o
lib/modules/drivers/glint_drv.o
%%AMD64_I386%%lib/modules/drivers/i128_drv.o
%%I386%%lib/modules/drivers/i740_drv.o
-%%I386%%lib/modules/drivers/i810_drv.o
+%%AMD64_I386%%lib/modules/drivers/i810_drv.o
lib/modules/drivers/mga_drv.o
%%AMD64_I386%%lib/modules/drivers/neomagic_drv.o
%%I386%%lib/modules/drivers/nsc_drv.o
diff --git a/x11-servers/xorg-server-snap/scripts/configure b/x11-servers/xorg-server-snap/scripts/configure
index 267479720d4d..6c6e349a46d0 100644
--- a/x11-servers/xorg-server-snap/scripts/configure
+++ b/x11-servers/xorg-server-snap/scripts/configure
@@ -24,6 +24,11 @@ echo "#define BuildGLXLibrary YES" >> $LOCALDEF
echo "#define UseInstalledPrograms YES" >> $LOCALDEF
echo "#define StandardIncludes -I${PREFIX}/include" >> $LOCALDEF
echo "#define BuildXFree86ConfigTools YES" >> $LOCALDEF
+echo "#define BuildXFree86ConfigTools YES" >> $LOCALDEF
+echo "#define DriverManDir \$(MANSOURCEPATH)4" >> $LOCALDEF
+echo "#define DriverManSuffix 4x" >> $LOCALDEF
+echo "#define MiscManDir \$(MANSOURCEPATH)7" >> $LOCALDEF
+echo "#define MiscManSuffix 7x" >> $LOCALDEF
if [ X$WITH_DEBUG != X ]; then
export CFLAGS="-g $CFLAGS"
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile
index 4beb4cea3060..eeb687996382 100644
--- a/x11-servers/xorg-server/Makefile
+++ b/x11-servers/xorg-server/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xorg-server
PORTVERSION= 6.8.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XORG}
MASTER_SITE_SUBDIR= X11R6.8.1/tars
@@ -39,29 +39,29 @@ MAN1= Xorg.1 \
pcitweak.1 \
xorgcfg.1 \
xorgconfig.1
-MAN4= citron.4 \
- dmc.4 \
- dynapro.4 \
- elographics.4 \
- fbdevhw.4 \
- fpit.4 \
- glint.4 \
- js_x.4 \
- kbd.4 \
- keyboard.4 \
- mga.4 \
- microtouch.4 \
- mouse.4 \
- mutouch.4 \
- palmax.4 \
- penmount.4 \
- r128.4 \
- radeon.4 \
- tdfx.4 \
- tek4957.4 \
- vga.4 \
- void.4 \
- wacom.4
+MAN4= citron.4x \
+ dmc.4x \
+ dynapro.4x \
+ elographics.4x \
+ fbdevhw.4x \
+ fpit.4x \
+ glint.4x \
+ js_x.4x \
+ kbd.4x \
+ keyboard.4x \
+ mga.4x \
+ microtouch.4x \
+ mouse.4x \
+ mutouch.4x \
+ palmax.4x \
+ penmount.4x \
+ r128.4x \
+ radeon.4x \
+ tdfx.4x \
+ tek4957.4x \
+ vga.4x \
+ void.4x \
+ wacom.4x
MAN5= getconfig.5 \
xorg.conf.5
@@ -81,7 +81,7 @@ IGNORE= is part of X.Org. For switching to X.Org, read UPDATING entry 20040723
PLIST_SUB+= ALPHA_NA="@comment "
.else
PLIST_SUB+= ALPHA_NA=""
-MAN4+= vesa.4
+MAN4+= vesa.4x
.endif
.if ${ARCH} == ia64
@@ -93,46 +93,46 @@ PLIST_SUB+= IA64_NA=""
.if ${ARCH} == sparc64
PLIST_SUB+= SPARC64=""
PLIST_SUB+= SPARC64_NA="@comment "
-MAN4+= sunbw2.4 \
- suncg14.4 \
- suncg3.4 \
- suncg6.4 \
- sunffb.4 \
- sunleo.4 \
- suntcx.4
+MAN4+= sunbw2.4x \
+ suncg14.4x \
+ suncg3.4x \
+ suncg6.4x \
+ sunffb.4x \
+ sunleo.4x \
+ suntcx.4x
.else
PLIST_SUB+= SPARC64="@comment "
PLIST_SUB+= SPARC64_NA=""
-MAN4+= cirrus.4 \
- nv.4 \
- rendition.4 \
- s3virge.4 \
- savage.4 \
- siliconmotion.4
+MAN4+= cirrus.4x \
+ nv.4x \
+ rendition.4x \
+ s3virge.4x \
+ savage.4x \
+ siliconmotion.4x
.endif
.if ${ARCH} == i386
PLIST_SUB+= I386=""
MAN1+= scanpci.1
-MAN4+= i740.4 \
- i810.4 \
- nsc.4 \
- via.4 \
- vmware.4
+MAN4+= i740.4x \
+ nsc.4x \
+ via.4x \
+ vmware.4x
.else
PLIST_SUB+= I386="@comment "
.endif
.if ${ARCH} == amd64 || ${ARCH} == i386
PLIST_SUB+= AMD64_I386=""
-MAN4+= apm.4 \
- chips.4 \
- cyrix.4 \
- i128.4 \
- neomagic.4 \
- sis.4 \
- trident.4 \
- tseng.4
+MAN4+= apm.4x \
+ chips.4x \
+ cyrix.4x \
+ i128.4x \
+ i810.4x \
+ neomagic.4x \
+ sis.4x \
+ trident.4x \
+ tseng.4x
.else
PLIST_SUB+= AMD64_I386="@comment "
.endif
diff --git a/x11-servers/xorg-server/files/patch-ati-591 b/x11-servers/xorg-server/files/patch-ati-591
new file mode 100644
index 000000000000..dc8e099f078a
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-ati-591
@@ -0,0 +1,54 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c,v
+retrieving revision 1.3
+retrieving revision 1.3.4.1
+diff -u -u -r1.3 -r1.3.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c 26 Jul 2004 19:14:58 -0000 1.3
++++ programs/Xserver/hw/xfree86/drivers/ati/atipreinit.c 15 Dec 2004 07:58:15 -0000 1.3.4.1
+@@ -1918,11 +1918,11 @@
+ VBlankEnd += 0x0100U;
+
+ pATI->LCDHBlankWidth = HBlankEnd - HBlankStart;
+- pATI->LCDHSyncStart = HSyncStart - HBlankStart - 1;
++ pATI->LCDHSyncStart = HSyncStart - HBlankStart;
+ pATI->LCDHSyncWidth = HSyncEnd - HSyncStart;
+
+ pATI->LCDVBlankWidth = VBlankEnd - VBlankStart;
+- pATI->LCDVSyncStart = VSyncStart - VBlankStart - 1;
++ pATI->LCDVSyncStart = VSyncStart - VBlankStart;
+ pATI->LCDVSyncWidth = VSyncEnd - VSyncStart;
+
+ HDisplay = HTotal + 5 - pATI->LCDHBlankWidth;
+Index: programs/Xserver/hw/xfree86/drivers/ati/ativga.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/ativga.c,v
+retrieving revision 1.2
+retrieving revision 1.2.4.1
+diff -u -u -r1.2 -r1.2.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/ativga.c 23 Apr 2004 19:26:46 -0000 1.2
++++ programs/Xserver/hw/xfree86/drivers/ati/ativga.c 15 Dec 2004 07:58:15 -0000 1.2.4.1
+@@ -185,7 +185,11 @@
+ (pATI->Chip >= ATI_CHIP_264CT))
+ pMode->CrtcHBlankStart--;
+ pMode->CrtcHSyncStart = pMode->HSyncStart >> 3;
++ if (pATI->LCDPanelID >= 0)
++ pMode->CrtcHSyncStart--;
+ pMode->CrtcHSyncEnd = pMode->HSyncEnd >> 3;
++ if (pATI->LCDPanelID >= 0)
++ pMode->CrtcHSyncEnd--;
+ pMode->CrtcHBlankEnd = (pMode->HTotal >> 3) - 1;
+ pMode->CrtcHTotal = (pMode->HTotal >> 3) - 5;
+ pMode->CrtcHSkew = pMode->HSkew;
+@@ -327,6 +331,11 @@
+ pMode->CrtcVBlankStart++;
+ else
+ pMode->CrtcVBlankStart--;
++ if (pATI->LCDPanelID >= 0)
++ {
++ pMode->CrtcVSyncStart--;
++ pMode->CrtcVSyncEnd--;
++ }
+ pMode->CrtcVBlankEnd--;
+ if (pATI->Chip < ATI_CHIP_264CT)
+ pMode->CrtcVBlankEnd--;
diff --git a/x11-servers/xorg-server/files/patch-atiprobe.c b/x11-servers/xorg-server/files/patch-atiprobe.c
new file mode 100644
index 000000000000..cb7371b1f153
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-atiprobe.c
@@ -0,0 +1,18 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c,v
+retrieving revision 1.3
+retrieving revision 1.3.2.2
+diff -u -u -r1.3 -r1.3.2.2
+--- programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 30 Jul 2004 20:30:51 -0000 1.3
++++ programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 15 Dec 2004 08:47:20 -0000 1.3.2.2
+@@ -1554,6 +1560,9 @@
+ continue;
+
+ pPCI = pVideo->thisCard;
++ if (pPCI == NULL)
++ continue;
++
+ PciReg = pciReadLong(pPCI->tag, PCI_REG_USERCONFIG);
+ j = PciReg & 0x03U;
+ if (j == 0x03U)
diff --git a/x11-servers/xorg-server/files/patch-r128_accel.c b/x11-servers/xorg-server/files/patch-r128_accel.c
new file mode 100644
index 000000000000..6acfe9834a8e
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-r128_accel.c
@@ -0,0 +1,33 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c,v
+retrieving revision 1.3
+retrieving revision 1.3.4.1
+diff -u -u -r1.3 -r1.3.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c 16 Jun 2004 09:43:58 -0000 1.3
++++ programs/Xserver/hw/xfree86/drivers/ati/r128_accel.c 15 Dec 2004 09:22:02 -0000 1.3.4.1
+@@ -237,17 +237,23 @@
+ i = 0;
+ do {
+ ret = drmCommandNone(info->drmFD, DRM_R128_CCE_IDLE);
+- } while ( ret && errno == EBUSY && i++ < R128_IDLE_RETRY );
++ } while ( ret && errno == EBUSY && i++ < (R128_IDLE_RETRY * R128_IDLE_RETRY) );
+
+ if (ret && ret != -EBUSY) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "%s: CCE idle %d\n", __FUNCTION__, ret);
+ }
+
++ if (i > R128_IDLE_RETRY) {
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
++ "%s: (DEBUG) CCE idle took i = %d\n", __FUNCTION__, i);
++ }
++
+ if (ret == 0) return;
+
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "Idle timed out, resetting engine...\n");
++ R128CCE_STOP(pScrn, info);
+ R128EngineReset(pScrn);
+
+ /* Always restart the engine when doing CCE 2D acceleration */
diff --git a/x11-servers/xorg-server/files/patch-r128_dri.c b/x11-servers/xorg-server/files/patch-r128_dri.c
new file mode 100644
index 000000000000..c31694837bcc
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-r128_dri.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c
+===================================================================
+RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c,v
+retrieving revision 1.4
+retrieving revision 1.4.4.1
+diff -u -u -r1.4 -r1.4.4.1
+--- programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c 10 Jul 2004 14:22:35 -0000 1.4
++++ programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c 15 Dec 2004 08:53:01 -0000 1.4.4.1
+@@ -1297,6 +1297,7 @@
+ if (info->irq) {
+ drmCtlUninstHandler(info->drmFD);
+ info->irq = 0;
++ info->gen_int_cntl = 0;
+ }
+
+ /* De-allocate vertex buffers */
diff --git a/x11-servers/xorg-server/files/patch-radeon_driver.c b/x11-servers/xorg-server/files/patch-radeon_driver.c
new file mode 100644
index 000000000000..7361e77a5eaf
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-radeon_driver.c
@@ -0,0 +1,19 @@
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c.orig Tue Aug 24 17:30:41 2004
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c Thu Jan 13 14:34:17 2005
+@@ -4471,10 +4471,12 @@
+
+ RADEONSave(pScrn);
+
+- if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) {
+- RADEONSetDynamicClock(pScrn, 1);
+- } else {
+- RADEONSetDynamicClock(pScrn, 0);
++ if ((!info->IsSecondary) && info->IsMobility) {
++ if (xf86ReturnOptValBool(info->Options, OPTION_DYNAMIC_CLOCKS, FALSE)) {
++ RADEONSetDynamicClock(pScrn, 1);
++ } else {
++ RADEONSetDynamicClock(pScrn, 0);
++ }
+ }
+
+ if (info->FBDev) {
diff --git a/x11-servers/xorg-server/files/patch-radeon_reg.h b/x11-servers/xorg-server/files/patch-radeon_reg.h
new file mode 100644
index 000000000000..4aa8575e4cb2
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-radeon_reg.h
@@ -0,0 +1,11 @@
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h.orig Mon Aug 9 15:37:22 2004
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_reg.h Thu Jan 13 14:34:17 2005
+@@ -803,7 +803,7 @@
+ # define RADEON_MC_MCLK_MAX_DYN_STOP_LAT (1<<12)
+ # define RADEON_IO_MCLK_MAX_DYN_STOP_LAT (1<<13)
+ # define RADEON_MC_MCLK_DYN_ENABLE (1 << 14)
+-# define RADEON_IO_MCLK_DYN_ENABLE (1 << 14)
++# define RADEON_IO_MCLK_DYN_ENABLE (1 << 15)
+ #define RADEON_MDGPIO_A_REG 0x01ac
+ #define RADEON_MDGPIO_EN_REG 0x01b0
+ #define RADEON_MDGPIO_MASK 0x0198
diff --git a/x11-servers/xorg-server/files/patch-xorg.cf b/x11-servers/xorg-server/files/patch-xorg.cf
new file mode 100644
index 000000000000..794860e862fe
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-xorg.cf
@@ -0,0 +1,11 @@
+--- config/cf/xorg.cf.orig Sat Jan 1 16:41:46 2005
++++ config/cf/xorg.cf Sat Jan 1 16:42:18 2005
+@@ -446,7 +446,7 @@
+ # ifndef XF86CardDrivers
+ # define XF86CardDrivers mga glint nv tga s3 s3virge sis rendition \
+ neomagic tdfx savage cirrus tseng trident \
+- chips apm i128 ati ark cyrix siliconmotion \
++ chips apm i128 ati i810 ark cyrix siliconmotion \
+ vga dummy vesa \
+ XF86OSCardDrivers XF86ExtraCardDrivers
+ # endif
diff --git a/x11-servers/xorg-server/pkg-plist b/x11-servers/xorg-server/pkg-plist
index 6ef4d946e931..da6ef8eb22a4 100644
--- a/x11-servers/xorg-server/pkg-plist
+++ b/x11-servers/xorg-server/pkg-plist
@@ -91,7 +91,7 @@ lib/modules/drivers/atimisc_drv.o
lib/modules/drivers/glint_drv.o
%%AMD64_I386%%lib/modules/drivers/i128_drv.o
%%I386%%lib/modules/drivers/i740_drv.o
-%%I386%%lib/modules/drivers/i810_drv.o
+%%AMD64_I386%%lib/modules/drivers/i810_drv.o
lib/modules/drivers/mga_drv.o
%%AMD64_I386%%lib/modules/drivers/neomagic_drv.o
%%I386%%lib/modules/drivers/nsc_drv.o
diff --git a/x11-servers/xorg-server/scripts/configure b/x11-servers/xorg-server/scripts/configure
index 267479720d4d..6c6e349a46d0 100644
--- a/x11-servers/xorg-server/scripts/configure
+++ b/x11-servers/xorg-server/scripts/configure
@@ -24,6 +24,11 @@ echo "#define BuildGLXLibrary YES" >> $LOCALDEF
echo "#define UseInstalledPrograms YES" >> $LOCALDEF
echo "#define StandardIncludes -I${PREFIX}/include" >> $LOCALDEF
echo "#define BuildXFree86ConfigTools YES" >> $LOCALDEF
+echo "#define BuildXFree86ConfigTools YES" >> $LOCALDEF
+echo "#define DriverManDir \$(MANSOURCEPATH)4" >> $LOCALDEF
+echo "#define DriverManSuffix 4x" >> $LOCALDEF
+echo "#define MiscManDir \$(MANSOURCEPATH)7" >> $LOCALDEF
+echo "#define MiscManSuffix 7x" >> $LOCALDEF
if [ X$WITH_DEBUG != X ]; then
export CFLAGS="-g $CFLAGS"