aboutsummaryrefslogtreecommitdiff
path: root/x11-servers
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2003-04-06 08:48:25 +0000
committerEric Anholt <anholt@FreeBSD.org>2003-04-06 08:48:25 +0000
commitd42a8c1c29512cbf957541a784d600155fcd0436 (patch)
tree17e535b5a619268d4eff515dd624fac8520e003b /x11-servers
parent9f7eddb34125685401b4f656dcc11cbbf07a393b (diff)
downloadports-d42a8c1c29512cbf957541a784d600155fcd0436.tar.gz
ports-d42a8c1c29512cbf957541a784d600155fcd0436.zip
[1] Fix a hang in int10 on starting the server with multiple cards
[2] Fix a server hang on reset with DRI enabled on Radeons [3] Fix a server hang on reset with DRI enabled on Matrox [4] Fix screen going into powersaving with Xinerama, Xcursor, and Radeons [5] Fix an unresolved symbol in the nv driver [6] Fix a crash in DDC with Riva 128 cards (XFree86 bug 71) [7] Add some missing manpages to the MAN4 list PR: [7] ports/50113 Obtained from: [1] XFree86 bug 6 [2] XFree86 bug 94 [3] Panagiotis Papadakos <papadako@csd.uoc.gr> [4] XFree86 bug 90 [5,6] XFree86 CVS
Notes
Notes: svn path=/head/; revision=78407
Diffstat (limited to 'x11-servers')
-rw-r--r--x11-servers/XFree86-4-Server-snap/Makefile8
-rw-r--r--x11-servers/XFree86-4-Server-snap/files/patch-int10-generic.c39
-rw-r--r--x11-servers/XFree86-4-Server-snap/files/patch-mga_dri.c16
-rw-r--r--x11-servers/XFree86-4-Server-snap/files/patch-nv_driver.c16
-rw-r--r--x11-servers/XFree86-4-Server-snap/files/patch-nv_setup.c35
-rw-r--r--x11-servers/XFree86-4-Server-snap/files/patch-radeon_cursor.c16
-rw-r--r--x11-servers/XFree86-4-Server-snap/files/patch-radeon_dri.c15
-rw-r--r--x11-servers/XFree86-4-Server/Makefile8
-rw-r--r--x11-servers/XFree86-4-Server/files/patch-int10-generic.c39
-rw-r--r--x11-servers/XFree86-4-Server/files/patch-mga_dri.c16
-rw-r--r--x11-servers/XFree86-4-Server/files/patch-nv_driver.c16
-rw-r--r--x11-servers/XFree86-4-Server/files/patch-nv_setup.c35
-rw-r--r--x11-servers/XFree86-4-Server/files/patch-radeon_cursor.c16
-rw-r--r--x11-servers/XFree86-4-Server/files/patch-radeon_dri.c15
14 files changed, 286 insertions, 4 deletions
diff --git a/x11-servers/XFree86-4-Server-snap/Makefile b/x11-servers/XFree86-4-Server-snap/Makefile
index ab59d92ae2e5..0e6dc0018719 100644
--- a/x11-servers/XFree86-4-Server-snap/Makefile
+++ b/x11-servers/XFree86-4-Server-snap/Makefile
@@ -7,7 +7,7 @@
PORTNAME= Server
PORTVERSION= 4.3.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XFREE:S/$/:x/} \
${MASTER_SITE_LOCAL:S/$/:local/}
@@ -32,7 +32,8 @@ DIST_SUBDIR= xc
WRKSRC= ${WRKDIR}/xc
PATCHDIR= ${.CURDIR}/../../x11/XFree86-4-libraries/files
.for pf in patch-savage-pci-id patch-alpha_video.c patch-Pci.h patch-radeondri \
- patch-r128_driver.c patch-mga_driver.c patch-xkbInit.c
+ patch-r128_driver.c patch-mga_driver.c patch-xkbInit.c patch-radeon_dri.c \
+ patch-mga_dri.c patch-nv_driver.c patch-nv_setup.c patch-int10-generic.c
EXTRA_PATCHES+= ${FILESDIR}/${pf}
.endfor
SCRIPTS_ENV= OSVERSION=${OSVERSION} \
@@ -73,6 +74,7 @@ MAN3= XF86VidMode.3 \
MAN4= citron.4 \
dynapro.4 \
elographics.4 \
+ fbdevhw.4 \
glint.4 \
kbd.4 \
keyboard.4 \
@@ -80,8 +82,10 @@ MAN4= citron.4 \
microtouch.4 \
mouse.4 \
mutouch.4 \
+ nsc.4 \
nv.4 \
r128.4 \
+ radeon.4 \
rendition.4 \
s3virge.4 \
savage.4 \
diff --git a/x11-servers/XFree86-4-Server-snap/files/patch-int10-generic.c b/x11-servers/XFree86-4-Server-snap/files/patch-int10-generic.c
new file mode 100644
index 000000000000..3840a5bcd28b
--- /dev/null
+++ b/x11-servers/XFree86-4-Server-snap/files/patch-int10-generic.c
@@ -0,0 +1,39 @@
+Index: programs/Xserver/hw/xfree86/int10/generic.c
+===================================================================
+RCS file: /home/ncvs/xfree/xc/programs/Xserver/hw/xfree86/int10/generic.c,v
+retrieving revision 1.25
+retrieving revision 1.26
+diff -u -u -r1.25 -r1.26
+--- programs/Xserver/hw/xfree86/int10/generic.c 4 Apr 2002 14:05:51 -0000 1.25
++++ programs/Xserver/hw/xfree86/int10/generic.c 20 Mar 2003 15:11:26 -0000 1.26
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/generic.c,v 1.23 2001/05/28 14:21:56 eich Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/generic.c,v 1.25tsi Exp $ */
+ /*
+ * XFree86 int10 module
+ * execute BIOS int 10h calls in x86 real mode environment
+@@ -108,7 +108,7 @@
+ MapVRam(pInt);
+ #ifdef _PC
+ if (!sysMem)
+- sysMem = xf86MapVidMem(screen, VIDMEM_FRAMEBUFFER, V_BIOS,
++ sysMem = xf86MapVidMem(screen, VIDMEM_MMIO, V_BIOS,
+ BIOS_SIZE + SYS_BIOS - V_BIOS);
+ INTPriv(pInt)->sysMem = sysMem;
+
+@@ -446,12 +446,14 @@
+ #define OFF(addr) ((addr) & 0xffff)
+ #if defined _PC
+ # define HIGH_OFFSET (INTPriv(pInt)->highMemory)
++# define HIGH_BASE V_BIOS
+ #else
+ # define HIGH_OFFSET SYS_BIOS
++# define HIGH_BASE SYS_BIOS
+ #endif
+ # define SYS(addr) ((addr) >= HIGH_OFFSET)
+ #define V_ADDR(addr) \
+- (SYS(addr) ? ((char*)INTPriv(pInt)->sysMem) + (addr - HIGH_OFFSET) \
++ (SYS(addr) ? ((char*)INTPriv(pInt)->sysMem) + (addr - HIGH_BASE) \
+ : (((char*)(INTPriv(pInt)->base) + addr)))
+ #define VRAM_ADDR(addr) (addr - V_RAM)
+ #define VRAM_BASE (INTPriv(pInt)->vRam)
diff --git a/x11-servers/XFree86-4-Server-snap/files/patch-mga_dri.c b/x11-servers/XFree86-4-Server-snap/files/patch-mga_dri.c
new file mode 100644
index 000000000000..ea1a8da4d83c
--- /dev/null
+++ b/x11-servers/XFree86-4-Server-snap/files/patch-mga_dri.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c
+===================================================================
+RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c,v
+retrieving revision 1.50
+retrieving revision 1.51
+diff -u -u -r1.50 -r1.51
+--- programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c 25 Mar 2003 11:20:38 -0000 1.50
++++ programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c 5 Apr 2003 04:00:25 -0000 1.51
+@@ -1359,6 +1359,7 @@
+ if (pMga->irq) {
+ drmCtlUninstHandler(pMga->drmFD);
+ pMga->irq = 0;
++ pMga->reg_ien = 0;
+ }
+
+ /* Cleanup DMA */
diff --git a/x11-servers/XFree86-4-Server-snap/files/patch-nv_driver.c b/x11-servers/XFree86-4-Server-snap/files/patch-nv_driver.c
new file mode 100644
index 000000000000..6b0ad1d3e495
--- /dev/null
+++ b/x11-servers/XFree86-4-Server-snap/files/patch-nv_driver.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
+===================================================================
+RCS file: /home/ncvs/xfree/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v
+retrieving revision 1.103
+retrieving revision 1.104
+diff -u -u -r1.103 -r1.104
+--- programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c 18 Mar 2003 22:23:30 -0000 1.103
++++ programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c 19 Mar 2003 18:02:49 -0000 1.104
+@@ -181,6 +181,7 @@
+ */
+
+ static const char *vgahwSymbols[] = {
++ "vgaHWUnmapMem",
+ "vgaHWDPMSSet",
+ "vgaHWFreeHWRec",
+ "vgaHWGetHWRec",
diff --git a/x11-servers/XFree86-4-Server-snap/files/patch-nv_setup.c b/x11-servers/XFree86-4-Server-snap/files/patch-nv_setup.c
new file mode 100644
index 000000000000..ff3ee569a4fd
--- /dev/null
+++ b/x11-servers/XFree86-4-Server-snap/files/patch-nv_setup.c
@@ -0,0 +1,35 @@
+Index: programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c
+===================================================================
+RCS file: /home/ncvs/xfree/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v
+retrieving revision 1.28
+retrieving revision 1.29
+diff -u -u -r1.28 -r1.29
+--- programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c 12 Mar 2003 21:27:18 -0000 1.28
++++ programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c 4 Apr 2003 00:18:50 -0000 1.29
+@@ -24,7 +24,7 @@
+ /* Hacked together from mga driver and 3.3.4 NVIDIA driver by Jarno Paananen
+ <jpaana@s2.org> */
+
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v 1.27 2003/02/10 23:42:51 mvojkovi Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v 1.28 2003/03/12 21:27:18 mvojkovi Exp $ */
+
+ #include "nv_include.h"
+
+@@ -424,6 +424,9 @@
+ break;
+ }
+
++ if(pNv->riva.Architecture == 3)
++ pNv->riva.PCRTC0 = pNv->riva.PGRAPH;
++
+ if(pNv->SecondCRTC) {
+ pNv->riva.PCIO = pNv->riva.PCIO0 + 0x2000;
+ pNv->riva.PCRTC = pNv->riva.PCRTC0 + 0x800;
+@@ -492,7 +495,6 @@
+ frameBase+0x00C00000, 0x00008000);
+
+ NVCommonSetup(pScrn);
+- pNv->riva.PCRTC = pNv->riva.PCRTC0 = pNv->riva.PGRAPH;
+ }
+
+ void
diff --git a/x11-servers/XFree86-4-Server-snap/files/patch-radeon_cursor.c b/x11-servers/XFree86-4-Server-snap/files/patch-radeon_cursor.c
new file mode 100644
index 000000000000..3d131171006e
--- /dev/null
+++ b/x11-servers/XFree86-4-Server-snap/files/patch-radeon_cursor.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c,v
+retrieving revision 1.23
+diff -p -u -r1.23 radeon_cursor.c
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c 2003/02/24 20:34:55 1.23
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c 2003/04/03 01:19:29
+@@ -370,7 +370,7 @@ static void RADEONLoadCursorARGB (ScrnIn
+ }
+
+ if (info->IsSecondary || info->Clone) {
+- save2 = INREG(RADEON_CRTC_GEN_CNTL) & ~(CARD32) (3 << 20);
++ save2 = INREG(RADEON_CRTC2_GEN_CNTL) & ~(CARD32) (3 << 20);
+ save2 |= (CARD32) (2 << 20);
+ OUTREG(RADEON_CRTC2_GEN_CNTL, save2 & (CARD32)~RADEON_CRTC2_CUR_EN);
+ }
diff --git a/x11-servers/XFree86-4-Server-snap/files/patch-radeon_dri.c b/x11-servers/XFree86-4-Server-snap/files/patch-radeon_dri.c
new file mode 100644
index 000000000000..5bc369808bf6
--- /dev/null
+++ b/x11-servers/XFree86-4-Server-snap/files/patch-radeon_dri.c
@@ -0,0 +1,15 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c,v
+retrieving revision 1.32
+diff -p -u -r1.32 radeon_dri.c
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c 2003/02/19 09:17:30 1.32
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c 2003/03/17 01:43:24
+@@ -1585,6 +1585,7 @@ void RADEONDRICloseScreen(ScreenPtr pScr
+ if (info->irq) {
+ drmCtlUninstHandler(info->drmFD);
+ info->irq = 0;
++ info->ModeReg.gen_int_cntl = 0;
+ }
+
+ /* De-allocate vertex buffers */
diff --git a/x11-servers/XFree86-4-Server/Makefile b/x11-servers/XFree86-4-Server/Makefile
index ab59d92ae2e5..0e6dc0018719 100644
--- a/x11-servers/XFree86-4-Server/Makefile
+++ b/x11-servers/XFree86-4-Server/Makefile
@@ -7,7 +7,7 @@
PORTNAME= Server
PORTVERSION= 4.3.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11-servers
MASTER_SITES= ${MASTER_SITE_XFREE:S/$/:x/} \
${MASTER_SITE_LOCAL:S/$/:local/}
@@ -32,7 +32,8 @@ DIST_SUBDIR= xc
WRKSRC= ${WRKDIR}/xc
PATCHDIR= ${.CURDIR}/../../x11/XFree86-4-libraries/files
.for pf in patch-savage-pci-id patch-alpha_video.c patch-Pci.h patch-radeondri \
- patch-r128_driver.c patch-mga_driver.c patch-xkbInit.c
+ patch-r128_driver.c patch-mga_driver.c patch-xkbInit.c patch-radeon_dri.c \
+ patch-mga_dri.c patch-nv_driver.c patch-nv_setup.c patch-int10-generic.c
EXTRA_PATCHES+= ${FILESDIR}/${pf}
.endfor
SCRIPTS_ENV= OSVERSION=${OSVERSION} \
@@ -73,6 +74,7 @@ MAN3= XF86VidMode.3 \
MAN4= citron.4 \
dynapro.4 \
elographics.4 \
+ fbdevhw.4 \
glint.4 \
kbd.4 \
keyboard.4 \
@@ -80,8 +82,10 @@ MAN4= citron.4 \
microtouch.4 \
mouse.4 \
mutouch.4 \
+ nsc.4 \
nv.4 \
r128.4 \
+ radeon.4 \
rendition.4 \
s3virge.4 \
savage.4 \
diff --git a/x11-servers/XFree86-4-Server/files/patch-int10-generic.c b/x11-servers/XFree86-4-Server/files/patch-int10-generic.c
new file mode 100644
index 000000000000..3840a5bcd28b
--- /dev/null
+++ b/x11-servers/XFree86-4-Server/files/patch-int10-generic.c
@@ -0,0 +1,39 @@
+Index: programs/Xserver/hw/xfree86/int10/generic.c
+===================================================================
+RCS file: /home/ncvs/xfree/xc/programs/Xserver/hw/xfree86/int10/generic.c,v
+retrieving revision 1.25
+retrieving revision 1.26
+diff -u -u -r1.25 -r1.26
+--- programs/Xserver/hw/xfree86/int10/generic.c 4 Apr 2002 14:05:51 -0000 1.25
++++ programs/Xserver/hw/xfree86/int10/generic.c 20 Mar 2003 15:11:26 -0000 1.26
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/generic.c,v 1.23 2001/05/28 14:21:56 eich Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/generic.c,v 1.25tsi Exp $ */
+ /*
+ * XFree86 int10 module
+ * execute BIOS int 10h calls in x86 real mode environment
+@@ -108,7 +108,7 @@
+ MapVRam(pInt);
+ #ifdef _PC
+ if (!sysMem)
+- sysMem = xf86MapVidMem(screen, VIDMEM_FRAMEBUFFER, V_BIOS,
++ sysMem = xf86MapVidMem(screen, VIDMEM_MMIO, V_BIOS,
+ BIOS_SIZE + SYS_BIOS - V_BIOS);
+ INTPriv(pInt)->sysMem = sysMem;
+
+@@ -446,12 +446,14 @@
+ #define OFF(addr) ((addr) & 0xffff)
+ #if defined _PC
+ # define HIGH_OFFSET (INTPriv(pInt)->highMemory)
++# define HIGH_BASE V_BIOS
+ #else
+ # define HIGH_OFFSET SYS_BIOS
++# define HIGH_BASE SYS_BIOS
+ #endif
+ # define SYS(addr) ((addr) >= HIGH_OFFSET)
+ #define V_ADDR(addr) \
+- (SYS(addr) ? ((char*)INTPriv(pInt)->sysMem) + (addr - HIGH_OFFSET) \
++ (SYS(addr) ? ((char*)INTPriv(pInt)->sysMem) + (addr - HIGH_BASE) \
+ : (((char*)(INTPriv(pInt)->base) + addr)))
+ #define VRAM_ADDR(addr) (addr - V_RAM)
+ #define VRAM_BASE (INTPriv(pInt)->vRam)
diff --git a/x11-servers/XFree86-4-Server/files/patch-mga_dri.c b/x11-servers/XFree86-4-Server/files/patch-mga_dri.c
new file mode 100644
index 000000000000..ea1a8da4d83c
--- /dev/null
+++ b/x11-servers/XFree86-4-Server/files/patch-mga_dri.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c
+===================================================================
+RCS file: /cvsroot/dri/xc/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c,v
+retrieving revision 1.50
+retrieving revision 1.51
+diff -u -u -r1.50 -r1.51
+--- programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c 25 Mar 2003 11:20:38 -0000 1.50
++++ programs/Xserver/hw/xfree86/drivers/mga/mga_dri.c 5 Apr 2003 04:00:25 -0000 1.51
+@@ -1359,6 +1359,7 @@
+ if (pMga->irq) {
+ drmCtlUninstHandler(pMga->drmFD);
+ pMga->irq = 0;
++ pMga->reg_ien = 0;
+ }
+
+ /* Cleanup DMA */
diff --git a/x11-servers/XFree86-4-Server/files/patch-nv_driver.c b/x11-servers/XFree86-4-Server/files/patch-nv_driver.c
new file mode 100644
index 000000000000..6b0ad1d3e495
--- /dev/null
+++ b/x11-servers/XFree86-4-Server/files/patch-nv_driver.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c
+===================================================================
+RCS file: /home/ncvs/xfree/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v
+retrieving revision 1.103
+retrieving revision 1.104
+diff -u -u -r1.103 -r1.104
+--- programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c 18 Mar 2003 22:23:30 -0000 1.103
++++ programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c 19 Mar 2003 18:02:49 -0000 1.104
+@@ -181,6 +181,7 @@
+ */
+
+ static const char *vgahwSymbols[] = {
++ "vgaHWUnmapMem",
+ "vgaHWDPMSSet",
+ "vgaHWFreeHWRec",
+ "vgaHWGetHWRec",
diff --git a/x11-servers/XFree86-4-Server/files/patch-nv_setup.c b/x11-servers/XFree86-4-Server/files/patch-nv_setup.c
new file mode 100644
index 000000000000..ff3ee569a4fd
--- /dev/null
+++ b/x11-servers/XFree86-4-Server/files/patch-nv_setup.c
@@ -0,0 +1,35 @@
+Index: programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c
+===================================================================
+RCS file: /home/ncvs/xfree/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v
+retrieving revision 1.28
+retrieving revision 1.29
+diff -u -u -r1.28 -r1.29
+--- programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c 12 Mar 2003 21:27:18 -0000 1.28
++++ programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c 4 Apr 2003 00:18:50 -0000 1.29
+@@ -24,7 +24,7 @@
+ /* Hacked together from mga driver and 3.3.4 NVIDIA driver by Jarno Paananen
+ <jpaana@s2.org> */
+
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v 1.27 2003/02/10 23:42:51 mvojkovi Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/nv_setup.c,v 1.28 2003/03/12 21:27:18 mvojkovi Exp $ */
+
+ #include "nv_include.h"
+
+@@ -424,6 +424,9 @@
+ break;
+ }
+
++ if(pNv->riva.Architecture == 3)
++ pNv->riva.PCRTC0 = pNv->riva.PGRAPH;
++
+ if(pNv->SecondCRTC) {
+ pNv->riva.PCIO = pNv->riva.PCIO0 + 0x2000;
+ pNv->riva.PCRTC = pNv->riva.PCRTC0 + 0x800;
+@@ -492,7 +495,6 @@
+ frameBase+0x00C00000, 0x00008000);
+
+ NVCommonSetup(pScrn);
+- pNv->riva.PCRTC = pNv->riva.PCRTC0 = pNv->riva.PGRAPH;
+ }
+
+ void
diff --git a/x11-servers/XFree86-4-Server/files/patch-radeon_cursor.c b/x11-servers/XFree86-4-Server/files/patch-radeon_cursor.c
new file mode 100644
index 000000000000..3d131171006e
--- /dev/null
+++ b/x11-servers/XFree86-4-Server/files/patch-radeon_cursor.c
@@ -0,0 +1,16 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c,v
+retrieving revision 1.23
+diff -p -u -r1.23 radeon_cursor.c
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c 2003/02/24 20:34:55 1.23
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_cursor.c 2003/04/03 01:19:29
+@@ -370,7 +370,7 @@ static void RADEONLoadCursorARGB (ScrnIn
+ }
+
+ if (info->IsSecondary || info->Clone) {
+- save2 = INREG(RADEON_CRTC_GEN_CNTL) & ~(CARD32) (3 << 20);
++ save2 = INREG(RADEON_CRTC2_GEN_CNTL) & ~(CARD32) (3 << 20);
+ save2 |= (CARD32) (2 << 20);
+ OUTREG(RADEON_CRTC2_GEN_CNTL, save2 & (CARD32)~RADEON_CRTC2_CUR_EN);
+ }
diff --git a/x11-servers/XFree86-4-Server/files/patch-radeon_dri.c b/x11-servers/XFree86-4-Server/files/patch-radeon_dri.c
new file mode 100644
index 000000000000..5bc369808bf6
--- /dev/null
+++ b/x11-servers/XFree86-4-Server/files/patch-radeon_dri.c
@@ -0,0 +1,15 @@
+Index: programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c,v
+retrieving revision 1.32
+diff -p -u -r1.32 radeon_dri.c
+--- programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c 2003/02/19 09:17:30 1.32
++++ programs/Xserver/hw/xfree86/drivers/ati/radeon_dri.c 2003/03/17 01:43:24
+@@ -1585,6 +1585,7 @@ void RADEONDRICloseScreen(ScreenPtr pScr
+ if (info->irq) {
+ drmCtlUninstHandler(info->drmFD);
+ info->irq = 0;
++ info->ModeReg.gen_int_cntl = 0;
+ }
+
+ /* De-allocate vertex buffers */