|
@@ -506,11 +506,14 @@ void r300_vram_info(struct radeon_device *rdev)
|
|
|
|
|
|
/* DDR for all card after R300 & IGP */
|
|
|
rdev->mc.vram_is_ddr = true;
|
|
|
+
|
|
|
tmp = RREG32(RADEON_MEM_CNTL);
|
|
|
- if (tmp & R300_MEM_NUM_CHANNELS_MASK) {
|
|
|
- rdev->mc.vram_width = 128;
|
|
|
- } else {
|
|
|
- rdev->mc.vram_width = 64;
|
|
|
+ tmp &= R300_MEM_NUM_CHANNELS_MASK;
|
|
|
+ switch (tmp) {
|
|
|
+ case 0: rdev->mc.vram_width = 64; break;
|
|
|
+ case 1: rdev->mc.vram_width = 128; break;
|
|
|
+ case 2: rdev->mc.vram_width = 256; break;
|
|
|
+ default: rdev->mc.vram_width = 128; break;
|
|
|
}
|
|
|
|
|
|
r100_vram_init_sizes(rdev);
|