On Mon, Mar 07, 2005 at 02:29:46PM -0800, Philippe Troin wrote: >David Dawes <dawes@xxxxxxxxxxx> writes: > >> On Mon, Mar 07, 2005 at 12:15:56PM -0800, Philippe Troin wrote: >> >David Dawes <dawes@xxxxxxxxxxx> writes: >v> > >> >> Can you send the 4.4.0 log for reference? >> > >> >Sure. >> > >> >While diffing both logs, I've noticed that 4.5.0rc2 detects this card >> >as PCI, while 4.4.0 detects it correctly as an AGP card. >> >> Both logs show 256MB detected, but overriden to 128MB. > >Yes, I had the 128 MB override on for both 4.4.0 and 4.5.0rc2. > >> Did 4.4.0 work without this override? > >Yes, however: > > 1. the kernel was giving me warnings about mtrr base address not > being a multiple of the mtrr extent size: > > mtrr: base(0xe8000000) is not aligned on a size(0x10000000) boundary > > 2. I had wierd instability issues, which might not have been related; > > 3. the PCI registers clearly shows that the IO memory is only 128 MB > long. The attached patch may address this, and should be equivalent to using the override that you're using now. If that extra 128MB of video memory is accessible via AGP, then the driver may need other changes to make the most of it. That's something for someone to look at post-4.5. >> If so, do you have the log for that? > >Enclosed at the end. Wierder, now (4.4.0 without VideoRam override) >it's detected as PCI too! It looks like the detection method isn't so reliable. David
Index: radeon_driver.c =================================================================== RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c,v retrieving revision 1.127 diff -u -r1.127 radeon_driver.c --- radeon_driver.c 10 Dec 2004 16:07:01 -0000 1.127 +++ radeon_driver.c 7 Mar 2005 22:47:58 -0000 @@ -2265,6 +2265,13 @@ pScrn->videoRam = dev->videoRam; } pScrn->videoRam &= ~1023; + if (pScrn->videoRam * 1024 > info->PciInfo->size[0]) { + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "Limiting Video RAM to the PCI bus address range " + "(%d kB instead of %d kB)\n", info->PciInfo->size[0] / 1024, + pScrn->videoRam); + pScrn->videoRam = info->PciInfo->size[0] / 1024; + } info->FbMapSize = pScrn->videoRam * 1024; xf86DrvMsg(pScrn->scrnIndex, from, "VideoRAM: %d kByte (%d bit %s SDRAM)\n", pScrn->videoRam, info->RamWidth, info->IsDDR?"DDR":"SDR");