diff options
author | Eric Anholt <anholt@FreeBSD.org> | 2003-04-06 08:48:25 +0000 |
---|---|---|
committer | Eric Anholt <anholt@FreeBSD.org> | 2003-04-06 08:48:25 +0000 |
commit | d42a8c1c29512cbf957541a784d600155fcd0436 (patch) | |
tree | 17e535b5a619268d4eff515dd624fac8520e003b /x11-servers | |
parent | 9f7eddb34125685401b4f656dcc11cbbf07a393b (diff) | |
download | ports-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')
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 */ |