On Wednesday, October 31, 2007 3:12 Mathieu Bérard wrote: > +void mach64_disable_vblank(struct drm_device * dev, int crtc) > +{ > + drm_mach64_private_t *dev_priv = dev->dev_private; > u32 status = MACH64_READ(MACH64_CRTC_INT_CNTL); > > - DRM_DEBUG("before install CRTC_INT_CTNL: 0x%08x\n", status); > + DRM_DEBUG("before disable vblank CRTC_INT_CTNL: 0x%08x\n", > status); > /* Disable and clear VBLANK interrupt */ > MACH64_WRITE(MACH64_CRTC_INT_CNTL, (status & > ~MACH64_CRTC_VBLANK_INT_EN) | MACH64_CRTC_VBLANK_INT); > }
I think this bit might cause problems. Since it doesn't look like you're using a hardware provided vblank count register, you'll want to keep vblank interrupts on after the first enable call so that it'll keep getting incremented in mach64_driver_irq_handler(), otherwise after the first disable() it'll stand still. Mostly this won't be a problem, but for some applications it's possible that it would cause them to hang or behave unexpectedly. Jesse ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel