drm/nouveau/device: use an additional bit from NV_PMC_BOOT_0 to identify chipset
authorBen Skeggs <bskeggs@redhat.com>
Fri, 27 Sep 2013 21:31:07 +0000 (07:31 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 8 Nov 2013 05:37:44 +0000 (15:37 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/core/engine/device/base.c

index de1e9ec..1485d7c 100644 (file)
@@ -158,9 +158,9 @@ nouveau_devobj_ctor(struct nouveau_object *parent,
                iounmap(map);
 
                /* determine chipset and derive architecture from it */
-               if ((boot0 & 0x0f000000) > 0) {
-                       device->chipset = (boot0 & 0xff00000) >> 20;
-                       switch (device->chipset & 0xf0) {
+               if ((boot0 & 0x1f000000) > 0) {
+                       device->chipset = (boot0 & 0x1ff00000) >> 20;
+                       switch (device->chipset & 0x1f0) {
                        case 0x10: {
                                if (0x461 & (1 << (device->chipset & 0xf)))
                                        device->card_type = NV_10;