drm/nouveau: store supported dma mask in vmmgr

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
diff --git a/drivers/gpu/drm/nouveau/nouveau_ttm.c b/drivers/gpu/drm/nouveau/nouveau_ttm.c
index d2fc121..9be9cb5 100644
--- a/drivers/gpu/drm/nouveau/nouveau_ttm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_ttm.c
@@ -340,14 +340,10 @@
 	u32 bits;
 	int ret;
 
-	if (nv_device(drm->device)->card_type >= NV_50) {
-		if (pci_dma_supported(dev->pdev, DMA_BIT_MASK(40)))
-			bits = 40;
-		else
-			bits = 32;
-	} else {
+	bits = nouveau_vmmgr(drm->device)->dma_bits;
+	if ( drm->agp.stat == ENABLED ||
+	    !pci_dma_supported(dev->pdev, DMA_BIT_MASK(bits)))
 		bits = 32;
-	}
 
 	ret = pci_set_dma_mask(dev->pdev, DMA_BIT_MASK(bits));
 	if (ret)