drm: Add drm_vblank_on()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 19 Feb 2014 19:29:49 +0000 (21:29 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 20 May 2014 19:13:35 +0000 (21:13 +0200)
commitf2752282f7f7b566b07113dd5aa130725aa95ac4
treed80fa96d1fafc4a3d916d99aa6f4d664aaa49046
parent3212a22ff7b1adad9c8bda6655dd483a6a91bdba
drm: Add drm_vblank_on()

drm_vblank_off() will turn off vblank interrupts, but as long as the
refcount is elevated drm_vblank_get() will not re-enable them. This
is a problem is someone is holding a vblank reference while a modeset is
happening, and the driver requires vblank interrupt to work during that
time.

Add drm_vblank_on() as a counterpart to drm_vblank_off() which will
re-enabled vblank interrupts if the refcount is already elevated. This
will allow drivers to choose the specific places in the modeset sequence
at which vblank interrupts get disabled and enabled.

Testcase: igt/kms_flip/*-vs-suspend
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
[danvet: Add Testcase tag for the igt I've written.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_irq.c
drivers/gpu/drm/i915/intel_display.c
include/drm/drmP.h