On Mit, 2003-03-12 at 12:29, Keith Whitwell wrote: > Michel Dänzer wrote: > > On Mit, 2003-03-12 at 11:51, Keith Whitwell wrote: > > > >>>In fact the lockup comes down to this one line: > >>> > >>> > >>>--- radeon_driver.c 28 Oct 2002 02:21:14 -0000 1.44 > >>>+++ radeon_driver.c 29 Oct 2002 13:49:25 -0000 1.45 > >>>@@ -4639,6 +4639,7 @@ > >>> save->cap0_trig_cntl = 0; > >>> save->cap1_trig_cntl = 0; > >>> save->bus_cntl = info->BusCntl; > >>>+ save->gen_int_cntl = info->gen_int_cntl; > >>> /* > >>> * If bursts are enabled, turn on discards > >>> * Radeon doesn't have write bursts > >>> > >>> > >>>Michel, what are the consequences of removing this? > >> > >>Hmm. Things are slightly compilcated by the fact that this code has been > >>reworked since this change was made. To get rid of the lockup on the dri > >>trunk I have to use the attached patch. It's a little heavy handed... > > > > > > It basically disables interrupts AFAICS. > > No - they still seem to work, which makes sense as they are turned on in the > drm module (which also writes to RADEON_GEN_INT_CONTROL).
But they stop working when you switch modes, don't they? Does this patch (against the XFree86 trunk) help instead? -- Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer XFree86 and DRI project member / CS student, Free Software enthusiast
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/12 13:08:30 @@ -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 */