nv50: support 3D class 0x8597, remove redundant unknown chipset detection
authorBen Skeggs <bskeggs@redhat.com>
Thu, 22 Oct 2009 11:55:22 +0000 (21:55 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Thu, 22 Oct 2009 11:56:32 +0000 (21:56 +1000)
src/gallium/drivers/nv50/nv50_screen.c

index 0bd54876957ab4c862c46c7d66515af494163a1d..63dce0f4c22884e059aad4cb9e71873e96360abf 100644 (file)
@@ -218,7 +218,16 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
                tesla_class = NV54TCL;
                break;
        case 0xa0:
-               tesla_class = NVA0TCL;
+               switch (chipset) {
+               case 0xa0:
+               case 0xaa:
+               case 0xac:
+                       tesla_class = NVA0TCL;
+                       break;
+               default:
+                       tesla_class = 0x8597;
+                       break;
+               }
                break;
        default:
                NOUVEAU_ERR("Not a known NV50 chipset: NV%02x\n", chipset);
@@ -226,12 +235,6 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
                return NULL;
        }
 
-       if (tesla_class == 0) {
-               NOUVEAU_ERR("Unknown G8x chipset: NV%02x\n", chipset);
-               nv50_screen_destroy(pscreen);
-               return NULL;
-       }
-
        ret = nouveau_grobj_alloc(chan, 0xbeef5097, tesla_class,
                &screen->tesla);
        if (ret) {