diff options
| author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2014-08-06 07:49:54 -0400 |
|---|---|---|
| committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-08-06 16:39:28 -0400 |
| commit | 00185e667009dda907887a4f84fbd02c6e651a49 (patch) | |
| tree | 2f41e86d1ecf52e826a5958e559894cb40ab6efb /drivers/gpu/drm | |
| parent | 4ed0ce3d0bccd74416ba6beb33a8a79d1617e97b (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.c | 2 |
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, |
