drm: use seqlock for vblank time/count
authorMatthew Auld <matthew.auld@intel.com>
Tue, 10 May 2016 14:21:28 +0000 (15:21 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 24 May 2016 21:21:56 +0000 (23:21 +0200)
commitd4055a9b207966ab4058550d818532b979d8bf78
tree6e97fa8a8c4fe75fccc929bf223a23c2c727e595
parentb80d3942329dcd43580adc3f7c0a098515b5feec
drm: use seqlock for vblank time/count

This patch aims to replace the roll-your-own seqlock implementation with
full-blown seqlock'. We also remove the timestamp ring-buffer in favour
of single timestamp/count pair protected by a seqlock. In turn this
means we can now increment the vblank freely without the need for
clamping.

v2:
  - reduce the scope of the seqlock, keeping vblank_time_lock
  - make the seqlock per vblank_crtc, so multiple readers aren't blocked by
    the writer

Cc: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1462890088-18194-1-git-send-email-matthew.auld@intel.com
drivers/gpu/drm/drm_irq.c
include/drm/drmP.h