From: Michel <mi...@da...> - 2003-04-04 21:20:30
|
On Fre, 2003-04-04 at 22:38, Eric Anholt wrote: > On Fri, 2003-04-04 at 11:12, Panagiotis Papadakos wrote: > > For some months now I am experiencing lockups when I switched to the VTs, > > or changed the video modes or if I tried to shutdown the Xserver. > > > > So I applied the following patch, after looking the related radeon patch > > and now I can switch to the VTs or change the videomode without lockups. > > But when I press Ctrl+Alt+Delete, sometimes my machine will lockup before > > kdm starts a new Xserver or it will lockup right away after my monitor > > has received the signal from the new Xserver. > > > > If I kill the kdm process and then restart it everything will be ok. (At > > least when I tried it) > > > > So can anyone please help? > > > > This is the patch: > > > > --- mga_dri.c 2003-04-04 22:02:21.000000000 +0300 > > +++ mga_dri.c_new 2003-04-04 16:26:31.000000000 +0300 > > @@ -1359,6 +1359,7 @@ > > if (pMga->irq) { > > drmCtlUninstHandler(pMga->drmFD); > > pMga->irq = 0; > > + pMga->reg_ien = 0; > > } > > > > /* Cleanup DMA */ > > Can anyone explain to me what exactly this patch or the one for radeon > do? My guess/understanding is that this prevents interrupts from being > reenabled on server reset before the irq handler is readded. That's my understanding as well. > But why does this cause a hang? I'm not sure, maybe some kernels and/or machines don't like the interrupt being enabled without the handler being installed. I couldn't reproduce the problem on my Macs. -- Earthling Michel Dänzer \ Debian (powerpc), XFree86 and DRI developer Software libre enthusiast \ http://svcs.affero.net/rm.php?r=daenzer |