From: Michel D. <mi...@tu...> - 2008-07-22 06:15:51
|
On Sun, 2008-07-20 at 12:46 +0200, Michel Dänzer wrote: > On Sat, 2008-07-19 at 12:54 -0400, Robert Noland wrote: > > > > One other issue that I spotted while testing is that we initialize > > vblank_disable_allowed to 0. The only place that it ever becomes true > > is in post modeset. So, for me... vblanks were never getting disabled. > > Yes, that's the intention behind vblank_disable_allowed. :) It's to > prevent the interrupt from getting disabled until the display driver > calls the modeset ioctl, to prevent problems caused by the hardware > frame counter resetting to 0 with 'old' display drivers (meaning ones > that don't know to call the modeset ioctl). That said, I encountered this with radeon as well. Turns out the initial modeset is done before the DRM IRQ handler is initialized, so the modeset ioctl just no-ops. I added two ioctl calls after the drmCtlInstHandler() call to make sure the vblank interrupts can get disabled right after startup, maybe xf86-video-intel needs something similar. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer |