From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 1/4] drm: Really never disable vblank irqs for offdelay==0 Date: Wed, 10 Sep 2014 15:24:19 -0700 Message-ID: <20140910222419.GJ26681@intel.com> References: <1410363371-11282-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 3968B6E49D for ; Wed, 10 Sep 2014 15:22:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1410363371-11282-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , DRI Development List-Id: dri-devel@lists.freedesktop.org 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 > Cc: Mario Kleiner > Cc: Matt Roper > Cc: Ville Syrj=E4l=E4 > Signed-off-by: Daniel Vetter Reviewed-by: Matt Roper > --- > 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 cr= tc) > = > /* 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 =3D=3D 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