drm: Really never disable vblank irqs for offdelay==0
With the new support for immediate vblank disabling we always disabled the vblank interrupt right away, irrespective of the vblank offdelay setting. But being able to let vblanks run forever is fairly useful for debugging, so restore that behaviour. Suggested-by: Mario Kleiner <mario.kleiner.de@gmail.com> Cc: Mario Kleiner <mario.kleiner.de@gmail.com> Cc: Matt Roper <matthew.d.roper@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
This commit is contained in:
Родитель
2368ffb18b
Коммит
ab8905f1c6
|
@ -1005,9 +1005,11 @@ void drm_vblank_put(struct drm_device *dev, int crtc)
|
|||
|
||||
/* Last user schedules interrupt disable */
|
||||
if (atomic_dec_and_test(&vblank->refcount)) {
|
||||
if (dev->vblank_disable_immediate || drm_vblank_offdelay < 0)
|
||||
if (drm_vblank_offdelay == 0)
|
||||
return;
|
||||
else if (dev->vblank_disable_immediate || drm_vblank_offdelay < 0)
|
||||
vblank_disable_fn((unsigned long)vblank);
|
||||
else if (drm_vblank_offdelay > 0)
|
||||
else
|
||||
mod_timer(&vblank->disable_timer,
|
||||
jiffies + ((drm_vblank_offdelay * HZ)/1000));
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче