Re: 4.5.0 rc2 X Server hangs w/radeon 9200 card

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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");

[Index of Archives]     [X Forum]     [Xorg]     [XFree86 Newbie]     [IETF Announce]     [Security]     [Font Config]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux Kernel]

  Powered by Linux