diff options
author | Alex Deucher <alex@cube.(none)> | 2008-03-06 17:30:21 -0500 |
---|---|---|
committer | Alex Deucher <alex@cube.(none)> | 2008-03-06 17:30:21 -0500 |
commit | 594743a99811a8b0f391412892414fcd158eeb56 (patch) | |
tree | 900b1ae1d9ad463a0a1906a9c06929935dc8ea51 /src/radeon_driver.c | |
parent | 41171c25cd235bafad26bcbabced16ead4b8c54b (diff) |
AVIVO: fix up memsize detection for IGP chips
Diffstat (limited to 'src/radeon_driver.c')
-rw-r--r-- | src/radeon_driver.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c index b46f09cd..04c9d3a2 100644 --- a/src/radeon_driver.c +++ b/src/radeon_driver.c @@ -1453,24 +1453,20 @@ static Bool RADEONPreInitVRAM(ScrnInfoPtr pScrn) MessageType from = X_PROBED; CARD32 accessible, bar_size; - if ((info->ChipFamily == CHIP_FAMILY_RS690) || - (info->ChipFamily == CHIP_FAMILY_RS740)) { - pScrn->videoRam = INREG(RADEON_CONFIG_MEMSIZE); - } else if (info->IsIGP) { - CARD32 tom = INREG(RADEON_NB_TOM); + if ((!IS_AVIVO_VARIANT) && info->IsIGP) { + CARD32 tom = INREG(RADEON_NB_TOM); pScrn->videoRam = (((tom >> 16) - (tom & 0xffff) + 1) << 6); OUTREG(RADEON_CONFIG_MEMSIZE, pScrn->videoRam * 1024); } else { - if (info->ChipFamily >= CHIP_FAMILY_R600) pScrn->videoRam = INREG(R600_CONFIG_MEMSIZE) / 1024; else { /* Read VRAM size from card */ pScrn->videoRam = INREG(RADEON_CONFIG_MEMSIZE) / 1024; - + /* Some production boards of m6 will return 0 if it's 8 MB */ if (pScrn->videoRam == 0) { pScrn->videoRam = 8192; |