From owner-svn-src-all@FreeBSD.ORG Fri Mar 20 04:53:12 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0678106564A; Fri, 20 Mar 2009 04:53:12 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DECE98FC18; Fri, 20 Mar 2009 04:53:12 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n2K4rCQl086319; Fri, 20 Mar 2009 04:53:12 GMT (envelope-from rnoland@svn.freebsd.org) Received: (from rnoland@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n2K4rCdY086318; Fri, 20 Mar 2009 04:53:12 GMT (envelope-from rnoland@svn.freebsd.org) Message-Id: <200903200453.n2K4rCdY086318@svn.freebsd.org> From: Robert Noland Date: Fri, 20 Mar 2009 04:53:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r190125 - head/sys/dev/drm X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Mar 2009 04:53:13 -0000 Author: rnoland Date: Fri Mar 20 04:53:12 2009 New Revision: 190125 URL: http://svn.freebsd.org/changeset/base/190125 Log: Only issue the wakeup and store the counter if vblank is enabled on the pipe. MFC after: 3 days Modified: head/sys/dev/drm/drm_irq.c Modified: head/sys/dev/drm/drm_irq.c ============================================================================== --- head/sys/dev/drm/drm_irq.c Fri Mar 20 04:49:48 2009 (r190124) +++ head/sys/dev/drm/drm_irq.c Fri Mar 20 04:53:12 2009 (r190125) @@ -210,10 +210,12 @@ int drm_irq_uninstall(struct drm_device */ DRM_SPINLOCK(&dev->vbl_lock); for (crtc = 0; crtc < dev->num_crtcs; crtc++) { - DRM_WAKEUP(&dev->vblank[crtc].queue); - dev->vblank[crtc].enabled = 0; - dev->vblank[crtc].last = - dev->driver->get_vblank_counter(dev, crtc); + if (dev->vblank[crtc].enabled) { + DRM_WAKEUP(&dev->vblank[crtc].queue); + dev->vblank[crtc].enabled = 0; + dev->vblank[crtc].last = + dev->driver->get_vblank_counter(dev, crtc); + } } DRM_SPINUNLOCK(&dev->vbl_lock);