• Dave Airlie's avatar
    Merge tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next · edbaae5a
    Dave Airlie authored
    So updated vblank-rework pull request, now with the polish that Mario
    requested applied (and reviewed by him). Also with backmerge like you've
    requested for easier merging.
    
    The neat thing this finally allows is to immediately disable the vblank
    interrupt on the last drm_vblank_put if the hardware has perfectly
    accurate vblank counter and timestamp readout support. On i915 that
    required piles of small adjustements from Ville since depending upon the
    platform and port the vblank happens at different scanout lines.
    
    Of course this is fully opt-in and per-device (we need that since gen2
    doesn't have a hw vblank counter).
    
    * tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: (22 commits)
      drm: Clarify vblank ts/scanoutpos sampling #defines
      drm: Simplify return value of drm_get_last_vbltimestamp
      drm: Only update final vblank count when precise ts is available
      drm: Really never disable vblank irqs for offdelay==0
      drm: Use vblank_disable_and_save in drm_vblank_cleanup()
      drm: Remove drm_vblank_cleanup from drm_vblank_init error path.
      drm: Store the vblank timestamp when adjusting the counter during disable
      drm: Fix confusing debug message in drm_update_vblank_count()
      drm/i915: Update scanline_offset only for active crtcs
      drm: Kick start vblank interrupts at drm_vblank_on()
      drm/i915: Opt out of vblank disable timer on >gen2
      drm: Add dev->vblank_disable_immediate flag
      drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0
      drm: Fix race between drm_vblank_off() and drm_queue_vblank_event()
      drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock
      drm: Reduce the amount of dev->vblank[crtc] in the code
      drm: Avoid random vblank counter jumps if the hardware counter has been reset
      drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off()
      drm: Move drm_update_vblank_count()
      drm: Don't clear vblank timestamps when vblank interrupt is disabled
      ...
    edbaae5a
drmP.h 48.7 KB