i915: Fix tests for vblank interrupts being enabled on CRTC by X server.
authorMichel Dänzer <michel@tungstengraphics.com>
Fri, 15 Jun 2007 08:21:44 +0000 (10:21 +0200)
committerMichel Dänzer <michel@tungstengraphics.com>
Fri, 15 Jun 2007 08:21:44 +0000 (10:21 +0200)
shared-core/i915_irq.c

index ad2cf9c..9861af9 100644 (file)
@@ -484,7 +484,7 @@ int i915_enable_vblank(drm_device_t *dev, int crtc)
 {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
 
-       if (dev_priv->vblank_pipe != (1 << crtc))
+       if (!(dev_priv->vblank_pipe & (1 << crtc)))
                return -EINVAL;
        
        switch (crtc) {
@@ -509,7 +509,7 @@ void i915_disable_vblank(drm_device_t *dev, int crtc)
 {
        drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private;
 
-       if (crtc > dev_priv->vblank_pipe)
+       if (!(dev_priv->vblank_pipe & (1 << crtc)))
                return;
        
        switch (crtc) {