aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2014-08-06 07:49:54 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-08-06 16:39:28 -0400
commit00185e667009dda907887a4f84fbd02c6e651a49 (patch)
tree2f41e86d1ecf52e826a5958e559894cb40ab6efb /drivers/gpu/drm
parent4ed0ce3d0bccd74416ba6beb33a8a79d1617e97b (diff)
drm: Add dev->vblank_disable_immediate flag
Add a flag to drm_device which will cause the vblank code to bypass the disable timer and always disable the vblank interrupt immediately when the last reference is dropped. v2: Add some notes about the flag to the kernel doc Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/drm_irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 99145c4d536b..8dbcc3f892d5 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -994,7 +994,7 @@ void drm_vblank_put(struct drm_device *dev, int crtc)
994 994
995 /* Last user schedules interrupt disable */ 995 /* Last user schedules interrupt disable */
996 if (atomic_dec_and_test(&vblank->refcount)) { 996 if (atomic_dec_and_test(&vblank->refcount)) {
997 if (drm_vblank_offdelay < 0) 997 if (dev->vblank_disable_immediate || drm_vblank_offdelay < 0)
998 vblank_disable_fn((unsigned long)vblank); 998 vblank_disable_fn((unsigned long)vblank);
999 else if (drm_vblank_offdelay > 0) 999 else if (drm_vblank_offdelay > 0)
1000 mod_timer(&vblank->disable_timer, 1000 mod_timer(&vblank->disable_timer,