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
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel