From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Garrett Subject: [RFC 2/3] drm: Handle the vblank_offdelay=0 case properly Date: Wed, 16 Nov 2011 09:20:52 -0500 Message-ID: <1321453253-20183-3-git-send-email-mjg@redhat.com> References: <1321453253-20183-1-git-send-email-mjg@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1321453253-20183-1-git-send-email-mjg@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, Matthew Garrett List-Id: intel-gfx@lists.freedesktop.org Right now if vblank_offdelay is 0, vblanks won't be disabled after the last user. Fix that case up. Signed-off-by: Matthew Garrett --- drivers/gpu/drm/drm_irq.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 8bcb6a4..94f9579 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -935,8 +935,7 @@ void drm_vblank_put(struct drm_device *dev, int crtc) BUG_ON(atomic_read(&dev->vblank_refcount[crtc]) == 0); /* Last user schedules interrupt disable */ - if (atomic_dec_and_test(&dev->vblank_refcount[crtc]) && - (dev->vblank_offdelay > 0)) + if (atomic_dec_and_test(&dev->vblank_refcount[crtc])) mod_timer(&dev->vblank_disable_timer, jiffies + ((dev->vblank_offdelay * DRM_HZ)/1000)); } -- 1.7.7.1