drm/nv04: differentiate between nv04/nv05
authorBen Skeggs <bskeggs@redhat.com>
Thu, 7 Jan 2010 03:47:57 +0000 (13:47 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 11 Jan 2010 04:41:17 +0000 (14:41 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_state.c

index a6b573e89829413e5fef2ad388986ebccd54e3d9..09b9a46dfc0ec0337f1ecf60b04585b8fddddff4 100644 (file)
@@ -642,7 +642,10 @@ int nouveau_load(struct drm_device *dev, unsigned long flags)
                dev_priv->chipset = (reg0 & 0xff00000) >> 20;
        /* NV04 or NV05 */
        } else if ((reg0 & 0xff00fff0) == 0x20004000) {
-               dev_priv->chipset = 0x04;
+               if (reg0 & 0x00f00000)
+                       dev_priv->chipset = 0x05;
+               else
+                       dev_priv->chipset = 0x04;
        } else
                dev_priv->chipset = 0xff;