nouveau: NV9X is basically a G80, fix issue with NV6X being detected as G80.
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index 62c23c7..721c642 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -6,8 +6,9 @@
 
 #include "nouveau/nouveau_stateobj.h"
 
-#define GRCLASS5097_CHIPSETS 0x00000000
-#define GRCLASS8297_CHIPSETS 0x00000010
+#define NV5X_GRCLASS5097_CHIPSETS 0x00000001
+#define NV8X_GRCLASS8297_CHIPSETS 0x00000010
+#define NV9X_GRCLASS8297_CHIPSETS 0x00000004
 
 static boolean
 nv50_screen_is_format_supported(struct pipe_screen *pscreen,
@@ -117,12 +118,24 @@
 		return NULL;
 	}
 
-	if (GRCLASS5097_CHIPSETS & (1 << (chipset & 0x0f))) {
-		tesla_class = 0x5097;
-	} else
-	if (GRCLASS8297_CHIPSETS & (1 << (chipset & 0x0f))) {
-		tesla_class = 0x8297;
-	} else {
+	switch (chipset & 0xf0) {
+	case 0x50:
+		if (NV5X_GRCLASS5097_CHIPSETS & (1 << (chipset & 0x0f)))
+			tesla_class = 0x5097;
+		break;
+	case 0x80:
+		if (NV8X_GRCLASS8297_CHIPSETS & (1 << (chipset & 0x0f)))
+			tesla_class = 0x8297;
+		break;
+	case 0x90:
+		if (NV9X_GRCLASS8297_CHIPSETS & (1 << (chipset & 0x0f)))
+			tesla_class = 0x8297;
+		break;
+	default:
+		break;
+	}
+
+	if (tesla_class == 0) {
 		NOUVEAU_ERR("Unknown G8x chipset: NV%02x\n", chipset);
 		nv50_screen_destroy(&screen->pipe);
 		return NULL;