On Wed, Sep 10, 2014 at 05:36:08PM +0200, Daniel Vetter wrote: > 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@xxxxxxxxx> > Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> > --- > drivers/gpu/drm/drm_irq.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c > index a75da075927c..6eb015020af2 100644 > --- a/drivers/gpu/drm/drm_irq.c > +++ b/drivers/gpu/drm/drm_irq.c > @@ -1024,9 +1024,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)); > } > -- > 1.9.3 > -- Matt Roper Graphics Software Engineer IoTG Platform Enabling & Development Intel Corporation (916) 356-2795 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel