From: Michel D. <mi...@tu...> - 2008-09-04 13:56:08
|
On Thu, 2008-09-04 at 16:43 +0300, Maksym Veremeyenko wrote: > Michel Dänzer написав(ла): > > On Thu, 2008-09-04 at 16:13 +0300, Maksym Veremeyenko wrote: > >> [drm:i915_get_vblank_counter] *ERROR* trying to get vblank count for > >> disabled pipe 0 > > > > Looks like the i915 driver still honours the DRM_I830_SET_VBLANK_PIPE > > ioctl even with vblank-rework, so the vblank interrupts are disabled > > while there are no GLX clients. > > IMHO, problem is in a *drm_irq.c*: > > [...] > static void drm_update_vblank_count(struct drm_device *dev, int crtc) > { > [...] > cur_vblank = dev->driver->get_vblank_counter(dev, crtc); > [...] > > where it submits crtc==0 - index of first available pipe instead of > index of first active pipe. perhaps if enabled only one pipe it assume > that it has index 0 (FIX ME) The crtc value is derived from what you pass to drmWaitVBlank(): if you want to wait on CRTC 1, you need to set vbl.request.type |= DRM_VBLANK_SECONDARY. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer |