drm/nouveau: memory type detection for the really old chipsets

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Ben Skeggs 2011-12-11 01:31:17 +10:00
parent 7ad2d31cb6
commit ddfd2da484
2 changed files with 13 additions and 0 deletions

View File

@ -29,6 +29,11 @@ nv04_fb_vram_init(struct drm_device *dev)
}
}
if ((boot0 & 0x00000038) <= 0x10)
dev_priv->vram_type = NV_MEM_TYPE_SGRAM;
else
dev_priv->vram_type = NV_MEM_TYPE_SDRAM;
return 0;
}

View File

@ -35,6 +35,14 @@ nv10_fb_vram_init(struct drm_device *dev)
u32 fifo_data = nv_rd32(dev, NV04_PFB_FIFO_DATA);
dev_priv->vram_size = fifo_data & NV10_PFB_FIFO_DATA_RAM_AMOUNT_MB_MASK;
if (dev_priv->card_type < NV_20) {
u32 cfg0 = nv_rd32(dev, 0x100200);
if (cfg0 & 0x00000001)
dev_priv->vram_type = NV_MEM_TYPE_DDR1;
else
dev_priv->vram_type = NV_MEM_TYPE_SDRAM;
}
return 0;
}