[PULL] topic/vblank-rework

Daniel Vetter daniel.vetter at ffwll.ch
Wed Sep 10 05:05:50 PDT 2014


Hi Dave,

So here's the final bits of Ville's vblank rework with a bit of cleanup
from Mario on top.

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).

Mario reviewed the entire pile too and after some initial hesitation
(about drivers without accurate timestampt support) acked it.

Cheers, Daniel


The following changes since commit 21d70354bba9965a098382fc4d7fb17e138111f3:

  drm: move drm_stub.c to drm_drv.c (2014-08-06 19:10:44 +1000)

are available in the git repository at:

  git://anongit.freedesktop.org/drm-intel tags/topic/vblank-rework-2014-09-10

for you to fetch changes up to 2368ffb18b1d2b04eb80478d225676caa7a3c4c8:

  drm: Use vblank_disable_and_save in drm_vblank_cleanup() (2014-09-10 09:41:29 +0200)

----------------------------------------------------------------
Mario Kleiner (2):
      drm: Remove drm_vblank_cleanup from drm_vblank_init error path.
      drm: Use vblank_disable_and_save in drm_vblank_cleanup()

Ville Syrjälä (16):
      drm: Always reject drm_vblank_get() after drm_vblank_off()
      drm/i915: Warn if drm_vblank_get() still works after drm_vblank_off()
      drm: Don't clear vblank timestamps when vblank interrupt is disabled
      drm: Move drm_update_vblank_count()
      drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off()
      drm: Avoid random vblank counter jumps if the hardware counter has been reset
      drm: Reduce the amount of dev->vblank[crtc] in the code
      drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock
      drm: Fix race between drm_vblank_off() and drm_queue_vblank_event()
      drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0
      drm: Add dev->vblank_disable_immediate flag
      drm/i915: Opt out of vblank disable timer on >gen2
      drm: Kick start vblank interrupts at drm_vblank_on()
      drm/i915: Update scanline_offset only for active crtcs
      drm: Fix confusing debug message in drm_update_vblank_count()
      drm: Store the vblank timestamp when adjusting the counter during disable

 Documentation/DocBook/drm.tmpl       |   7 +
 drivers/gpu/drm/drm_drv.c            |   4 +-
 drivers/gpu/drm/drm_irq.c            | 345 ++++++++++++++++++++++-------------
 drivers/gpu/drm/i915/i915_irq.c      |   8 +
 drivers/gpu/drm/i915/intel_display.c |  17 +-
 include/drm/drmP.h                   |  12 +-
 6 files changed, 256 insertions(+), 137 deletions(-)

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list