On Wed, 29 Oct 2008 09:31:57 +0200 Hasso Tepper <[email protected]> wrote:
> http://leaf.dragonflybsd.org/~hasso/dragonfly-patches/drm-update-20081029.patch > updates the DRM code to the very latest one from DRM git repo. Amongst > other things it brings in support for many newer Intel and AMD/ATI > chipsets. > > Please test and report back any failure or success with brief info (dmesg > snippet will do in case of success) about chipset in use etc, please. Heh I spoke too soon when I said it worked fine with my new X1650 - but it's close. From time to time an app using GLX would lock up in drmvbl state - I looked around and it seemed that there was a problem with vblank_disable_fn in drm_irq.c - a lock was taken on dev->vbl_lock and there was a path out of the function that didn't unlock it - so I added the unlock and I haven't been able to provoke a lockup since - patch below (applies after your patch Hasso). --- drm_irq.c.patched 2008-12-19 22:16:08 +0000 +++ drm_irq.c 2008-12-19 21:40:58 +0000 @@ -74,8 +74,10 @@ callout_deactivate(&dev->vblank_disable_timer); DRM_DEBUG("vblank_disable_allowed=%d\n", dev->vblank_disable_allowed); - if (!dev->vblank_disable_allowed) + if (!dev->vblank_disable_allowed) { + DRM_SPINUNLOCK(&dev->vbl_lock); return; + } for (i = 0; i < dev->num_crtcs; i++) { if (atomic_read(&dev->vblank[i].refcount) == 0 && -- C:>WIN | Directable Mirror Arrays The computer obeys and wins. | A better way to focus the sun You lose and Bill collects. | licences available see | http://www.sohara.org/
