Michel Dänzer написав(ла): [...] >> Is it normal that no interrupts happens from board? >> or i need more initializing ioctl call to /dev/dri/0 to allow interrupts >> from hardware? > > This is probably due to the DRM_I830_SET_VBLANK_PIPE ioctl - the X > driver uses it to disable the vblank interrupts while there are no GLX > clients. This is a crude power saving scheme which will be superseded by > the infamous DRM vblank-rework, which should work with your code. Thanks for some explanation, anyway i added more printk's to i915_irq.c and drm_irq.c
During xorg startup there are: ->drm_irq_install -> drm_vblank_init -> i915_enable_interrupt it successfully install irq and call *i915_enable_interrupt*. During *drmWaitVBlank* i got next call trace: drm_wait_vblank -> drm_vblank_get ->dev->driver->enable_vblank ->i915_enable_vblank: plane=0, pipe=1, pipestat |= PIPE_VBLANK_INTERRUPT_ENABLE ->i915_enable_irq(00000010) ->drm_update_vblank_count i915_get_vblank_counter: plane=0, pipe=1, high_frame=00071040, low_frame=00071044 i also get "enabling vblank interrupts on crtc 0, missed 246".... It seems to me that IRQ enable, but i have some suspicious about: [...] /* * Older chips didn't have the start vblank interrupt, * but */ if (IS_I965G (dev)) pipestat |= PIPE_START_VBLANK_INTERRUPT_ENABLE; else pipestat |= PIPE_VBLANK_INTERRUPT_ENABLE; [...] but even if i enable both, /proc/interrupts still shows zeros interrupts count.... -- ________________________________________ Maksym Veremeyenko ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel