From owner-cvs-src-old@FreeBSD.ORG Sat Feb 28 02:38:00 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 16665106564A for ; Sat, 28 Feb 2009 02:38:00 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DA2AA8FC12 for ; Sat, 28 Feb 2009 02:37:59 +0000 (UTC) (envelope-from rnoland@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n1S2bxlI001712 for ; Sat, 28 Feb 2009 02:37:59 GMT (envelope-from rnoland@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n1S2bxx9001711 for cvs-src-old@freebsd.org; Sat, 28 Feb 2009 02:37:59 GMT (envelope-from rnoland@repoman.freebsd.org) Message-Id: <200902280237.n1S2bxx9001711@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rnoland@repoman.freebsd.org using -f From: Robert Noland Date: Sat, 28 Feb 2009 02:37:55 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/drm drmP.h drm_drv.c drm_irq.c i915_dma.c i915_drv.h i915_irq.c mach64_drv.c mach64_drv.h mach64_irq.c mga_dma.c mga_irq.c r128_drv.c r128_drv.h r128_irq.c radeon_cp.c radeon_irq.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2009 02:38:00 -0000 rnoland 2009-02-28 02:37:55 UTC FreeBSD src repository Modified files: sys/dev/drm drmP.h drm_drv.c drm_irq.c i915_dma.c i915_drv.h i915_irq.c mach64_drv.c mach64_drv.h mach64_irq.c mga_dma.c mga_irq.c r128_drv.c r128_drv.h r128_irq.c radeon_cp.c radeon_irq.c Log: SVN rev 189130 on 2009-02-28 02:37:55Z by rnoland Initialize the vblank structures at load time. Previously we did this at irq install/uninstall time, but when we vt switch, we uninstall the irq handler. When the irq handler is reinstalled, the modeset ioctl happens first. The modeset ioctl is supposed to tell us that we can disable vblank interrupts if there are no active consumers. This will fail after a vt switch until another modeset ioctl is called via dpms or xrandr. Leading to cases where either interrupts are on and can't be disabled, or worse, no interrupts at all. MFC after: 2 weeks Revision Changes Path 1.32 +1 -0 src/sys/dev/drm/drmP.h 1.22 +2 -0 src/sys/dev/drm/drm_drv.c 1.10 +1 -3 src/sys/dev/drm/drm_irq.c 1.16 +7 -0 src/sys/dev/drm/i915_dma.c 1.10 +2 -0 src/sys/dev/drm/i915_drv.h 1.11 +0 -5 src/sys/dev/drm/i915_irq.c 1.9 +7 -0 src/sys/dev/drm/mach64_drv.c 1.4 +1 -0 src/sys/dev/drm/mach64_drv.h 1.4 +1 -1 src/sys/dev/drm/mach64_irq.c 1.15 +8 -0 src/sys/dev/drm/mga_dma.c 1.8 +0 -5 src/sys/dev/drm/mga_irq.c 1.17 +6 -0 src/sys/dev/drm/r128_drv.c 1.13 +1 -0 src/sys/dev/drm/r128_drv.h 1.8 +1 -1 src/sys/dev/drm/r128_irq.c 1.26 +6 -0 src/sys/dev/drm/radeon_cp.c 1.11 +0 -5 src/sys/dev/drm/radeon_irq.c