drm/nv50: fix compute object class

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
index e0f5294..7a98d41 100644
--- a/drivers/gpu/drm/nouveau/nv50_graph.c
+++ b/drivers/gpu/drm/nouveau/nv50_graph.c
@@ -425,8 +425,6 @@
 	NVOBJ_CLASS(dev, 0x0030, GR); /* null */
 	NVOBJ_CLASS(dev, 0x5039, GR); /* m2mf */
 	NVOBJ_CLASS(dev, 0x502d, GR); /* 2d */
-	NVOBJ_CLASS(dev, 0x50c0, GR); /* compute */
-	NVOBJ_CLASS(dev, 0x85c0, GR); /* compute (nva3, nva5, nva8) */
 
 	/* tesla */
 	if (dev_priv->chipset == 0x50)
@@ -452,6 +450,14 @@
 		}
 	}
 
+	/* compute */
+	if (dev_priv->chipset <= 0xa0 ||
+	    dev_priv->chipset == 0xaa ||
+	    dev_priv->chipset == 0xac)
+		NVOBJ_CLASS(dev, 0x50c0, GR);
+	else
+		NVOBJ_CLASS(dev, 0x85c0, GR);
+
 	dev_priv->engine.graph.registered = true;
 	return 0;
 }