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 */