]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/nouveau/nouveau_irq.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[karo-tx-linux.git] / drivers / gpu / drm / nouveau / nouveau_irq.c
index 53360f15606378899d8d814adf03e0809ac07268..794b0ee30cf608cd7087a2f4e4055b8702e75e2d 100644 (file)
@@ -49,7 +49,7 @@ nouveau_irq_preinstall(struct drm_device *dev)
        /* Master disable */
        nv_wr32(dev, NV03_PMC_INTR_EN_0, 0);
 
-       if (dev_priv->card_type == NV_50) {
+       if (dev_priv->card_type >= NV_50) {
                INIT_WORK(&dev_priv->irq_work, nv50_display_irq_handler_bh);
                INIT_WORK(&dev_priv->hpd_work, nv50_display_irq_hotplug_bh);
                INIT_LIST_HEAD(&dev_priv->vbl_waiting);
@@ -586,11 +586,11 @@ nouveau_pgraph_irq_handler(struct drm_device *dev)
                }
 
                if (status & NV_PGRAPH_INTR_CONTEXT_SWITCH) {
-                       nouveau_pgraph_intr_context_switch(dev);
-
                        status &= ~NV_PGRAPH_INTR_CONTEXT_SWITCH;
                        nv_wr32(dev, NV03_PGRAPH_INTR,
                                 NV_PGRAPH_INTR_CONTEXT_SWITCH);
+
+                       nouveau_pgraph_intr_context_switch(dev);
                }
 
                if (status) {